changeset 52098:b5efb7a7d2a5 stable

docstring: backed out changeset 51057ab0dffa In retrospect this is too much of a behavior change for stable. So I grafted the same change as 31076a2301f1 on default, and I am backing out its version on stable.
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Fri, 25 Oct 2024 23:54:24 +0200
parents 7862a5ac35cf
children 19ae7730636a 0b05b4d85889
files hgext/show.py i18n/de.po i18n/ja.po mercurial/helptext/hgweb.txt mercurial/pycompat.py tests/test-alias.t tests/test-bad-extension.t tests/test-convert.t tests/test-encoding-textwrap.t tests/test-extdiff.t tests/test-extension.t tests/test-fix.t tests/test-help.t tests/test-mq-qrefresh-interactive.t tests/test-qrecord.t tests/test-record.t tests/test-shelve.t tests/test-show.t tests/test-uncommit.t
diffstat 19 files changed, 732 insertions(+), 739 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/show.py	Thu Oct 24 18:58:58 2024 +0200
+++ b/hgext/show.py	Fri Oct 25 23:54:24 2024 +0200
@@ -513,7 +513,7 @@
     entries = []
     for key in sorted(showview._table.keys()):
         entries.append(
-            r'%s   %s'
+            r'    %s   %s'
             % (
                 pycompat.sysstr(key.ljust(longest)),
                 showview._table[key]._origdoc,
@@ -521,7 +521,7 @@
         )
 
     cmdtable[b'show'][0].__doc__ = pycompat.sysstr(b'%s\n\n%s\n    ') % (
-        pycompat.cleandoc(cmdtable[b'show'][0].__doc__),
+        cmdtable[b'show'][0].__doc__.rstrip(),
         pycompat.sysstr(b'\n\n').join(entries),
     )
 
--- a/i18n/de.po	Thu Oct 24 18:58:58 2024 +0200
+++ b/i18n/de.po	Fri Oct 25 23:54:24 2024 +0200
@@ -10044,11 +10044,11 @@
 msgstr "    Merkt Dateien zur Versionskontrolle im Projektarchiv vor."
 
 msgid ""
-"The files will be added to the repository at the next commit. To\n"
-"undo an add before that, see :hg:`forget`."
-msgstr ""
-"Die Dateien werden dem Projektarchiv beim nächsten Übernehmen (commit)\n"
-"hinzugefügt. Um dies vorher rückgängig zu machen, siehe:hg:`forget`."
+"    The files will be added to the repository at the next commit. To\n"
+"    undo an add before that, see :hg:`forget`."
+msgstr ""
+"    Die Dateien werden dem Projektarchiv beim nächsten Übernehmen (commit)\n"
+"    hinzugefügt. Um dies vorher rückgängig zu machen, siehe:hg:`forget`."
 
 msgid "    If no names are given, add all files to the repository."
 msgstr ""
@@ -13297,37 +13297,37 @@
 msgid "pull changes from the specified source"
 msgstr "Ruft Änderungen von der angegebenen Quelle ab"
 
-msgid "Pull changes from a remote repository to a local one."
-msgstr "Überträgt Änderungen aus einem entfernten Archiv in das lokale."
-
-msgid ""
-"This finds all changes from the repository at the specified path\n"
-"or URL and adds them to a local repository (the current one unless\n"
-"-R is specified). By default, this does not update the copy of the\n"
-"project in the working directory."
-msgstr ""
-"Dabei werden alle Änderungen vom Archiv am angegebenen Pfad oder\n"
-"URL gesucht und dem lokalen Archiv hinzugefügt (das aktuelle, oder das\n"
-"mit -R gegebene). Standardmäßig wird die Kopie des Projektes im\n"
-"Arbeitsverzeichnis nicht aktualisiert."
-
-msgid ""
-"Use :hg:`incoming` if you want to see what would have been added\n"
-"by a pull at the time you issued this command. If you then decide\n"
-"to add those changes to the repository, you should use :hg:`pull\n"
-"-r X` where ``X`` is the last changeset listed by :hg:`incoming`."
-msgstr ""
-"Um zu sehen, was beim nächsten 'pull' geholt würde, ohne dem Archiv\n"
-"tatsächlich Änderungen hinzuzufügen, nutze :hg:`incoming`. Wenn diese\n"
-"dann hinzugefügt werden sollen, kann mit :hg:`pull -r X` als X der\n"
-"letzte von incoming gezeigte Änderungssatz angegeben werden."
-
-msgid ""
-"Returns 0 on success, 1 if an update had unresolved files.\n"
-""
-msgstr ""
-"Gibt 0 bei Erfolg zurück, 1 bei Konfliken während der Aktualisierung.\n"
-""
+msgid "    Pull changes from a remote repository to a local one."
+msgstr "    Überträgt Änderungen aus einem entfernten Archiv in das lokale."
+
+msgid ""
+"    This finds all changes from the repository at the specified path\n"
+"    or URL and adds them to a local repository (the current one unless\n"
+"    -R is specified). By default, this does not update the copy of the\n"
+"    project in the working directory."
+msgstr ""
+"    Dabei werden alle Änderungen vom Archiv am angegebenen Pfad oder\n"
+"    URL gesucht und dem lokalen Archiv hinzugefügt (das aktuelle, oder das\n"
+"    mit -R gegebene). Standardmäßig wird die Kopie des Projektes im\n"
+"    Arbeitsverzeichnis nicht aktualisiert."
+
+msgid ""
+"    Use :hg:`incoming` if you want to see what would have been added\n"
+"    by a pull at the time you issued this command. If you then decide\n"
+"    to add those changes to the repository, you should use :hg:`pull\n"
+"    -r X` where ``X`` is the last changeset listed by :hg:`incoming`."
+msgstr ""
+"    Um zu sehen, was beim nächsten 'pull' geholt würde, ohne dem Archiv\n"
+"    tatsächlich Änderungen hinzuzufügen, nutze :hg:`incoming`. Wenn diese\n"
+"    dann hinzugefügt werden sollen, kann mit :hg:`pull -r X` als X der\n"
+"    letzte von incoming gezeigte Änderungssatz angegeben werden."
+
+msgid ""
+"    Returns 0 on success, 1 if an update had unresolved files.\n"
+"    "
+msgstr ""
+"    Gibt 0 bei Erfolg zurück, 1 bei Konfliken während der Aktualisierung.\n"
+"    "
 
 #, python-format
 msgid "remote bookmark %s not found!"
--- a/i18n/ja.po	Thu Oct 24 18:58:58 2024 +0200
+++ b/i18n/ja.po	Fri Oct 25 23:54:24 2024 +0200
@@ -8388,16 +8388,16 @@
 "    入力したメッセージは ``.hg/last-message.txt`` に保存されます。"
 
 msgid ""
-"hg add/remove/copy/rename work as usual, though you might want to\n"
-"use git-style patches (-g/--git or [diff] git=1) to track copies\n"
-"and renames. See the diffs help topic for more information on the\n"
-"git diff format."
-msgstr ""
-"複製/改名に関する履歴保存のために git 差分形式を使用(-g/--git 指定や\n"
-"設定ファイルでの [diff] git=1 記述)するのであれば、\n"
-"add/remove/copy/rename といった hg のコマンドによる履歴記録も、\n"
-"通常と変わりなく機能します。 git 差分形式の詳細に関しては、\n"
-"'help diffs' を参照してください。"
+"    hg add/remove/copy/rename work as usual, though you might want to\n"
+"    use git-style patches (-g/--git or [diff] git=1) to track copies\n"
+"    and renames. See the diffs help topic for more information on the\n"
+"    git diff format."
+msgstr ""
+"    複製/改名に関する履歴保存のために git 差分形式を使用(-g/--git 指定や\n"
+"    設定ファイルでの [diff] git=1 記述)するのであれば、\n"
+"    add/remove/copy/rename といった hg のコマンドによる履歴記録も、\n"
+"    通常と変わりなく機能します。 git 差分形式の詳細に関しては、\n"
+"    'help diffs' を参照してください。"
 
 msgid "hg qdiff [OPTION]... [FILE]..."
 msgstr "hg qdiff [OPTION]... [FILE]..."
--- a/mercurial/helptext/hgweb.txt	Thu Oct 24 18:58:58 2024 +0200
+++ b/mercurial/helptext/hgweb.txt	Fri Oct 25 23:54:24 2024 +0200
@@ -83,4 +83,4 @@
 
 The following web commands and their URLs are available:
 
-.. webcommandsmarker
+  .. webcommandsmarker
--- a/mercurial/pycompat.py	Thu Oct 24 18:58:58 2024 +0200
+++ b/mercurial/pycompat.py	Fri Oct 25 23:54:24 2024 +0200
@@ -348,46 +348,12 @@
     raise exc.with_traceback(tb)
 
 
-# Copied over from the 3.13 Python stdlib `inspect.cleandoc`, with a couple
-# of removals explained inline.
-# It differs slightly from the 3.8+ version, so it's better to use the same
-# version to remove any potential for variation.
-def cleandoc(doc):
-    """Clean up indentation from docstrings.
-
-    Any whitespace that can be uniformly removed from the second line
-    onwards is removed."""
-    lines = doc.expandtabs().split('\n')
-
-    # Find minimum indentation of any non-blank lines after first line.
-    margin = sys.maxsize
-    for line in lines[1:]:
-        content = len(line.lstrip(' '))
-        if content:
-            indent = len(line) - content
-            margin = min(margin, indent)
-    # Remove indentation.
-    if lines:
-        lines[0] = lines[0].lstrip(' ')
-    if margin < sys.maxsize:
-        for i in range(1, len(lines)):
-            lines[i] = lines[i][margin:]
-    # Here the upstream *Python* version does newline trimming, but it looks
-    # like the compiler (written in C) does not, so go with what the compiler
-    # does.
-    return '\n'.join(lines)
-
-
 def getdoc(obj: object) -> Optional[bytes]:
     """Get docstring as bytes; may be None so gettext() won't confuse it
     with _('')"""
     doc = builtins.getattr(obj, '__doc__', None)
     if doc is None:
         return doc
-    if sys.version_info < (3, 13):
-        # Python 3.13+ "cleans up" the docstring at compile time, let's
-        # normalize this behavior for previous versions
-        doc = cleandoc(doc)
     return sysbytes(doc)
 
 
--- a/tests/test-alias.t	Thu Oct 24 18:58:58 2024 +0200
+++ b/tests/test-alias.t	Fri Oct 25 23:54:24 2024 +0200
@@ -139,37 +139,38 @@
   
   show changed files in the working directory
   
-  Show status of files in the repository. If names are given, only files that
-  match are shown. Files that are clean or ignored or the source of a copy/move
-  operation, are not listed unless -c/--clean, -i/--ignored, -C/--copies or
-  -A/--all are given. Unless options described with "show only ..." are given,
-  the options -mardu are used.
+      Show status of files in the repository. If names are given, only files
+      that match are shown. Files that are clean or ignored or the source of a
+      copy/move operation, are not listed unless -c/--clean, -i/--ignored,
+      -C/--copies or -A/--all are given. Unless options described with "show
+      only ..." are given, the options -mardu are used.
   
-  Option -q/--quiet hides untracked (unknown and ignored) files unless
-  explicitly requested with -u/--unknown or -i/--ignored.
+      Option -q/--quiet hides untracked (unknown and ignored) files unless
+      explicitly requested with -u/--unknown or -i/--ignored.
   
-  Note:
-     'hg status' may appear to disagree with diff if permissions have changed or
-     a merge has occurred. The standard diff format does not report permission
-     changes and diff only reports changes relative to one merge parent.
+      Note:
+         'hg status' may appear to disagree with diff if permissions have
+         changed or a merge has occurred. The standard diff format does not
+         report permission changes and diff only reports changes relative to one
+         merge parent.
   
-  If one revision is given, it is used as the base revision. If two revisions
-  are given, the differences between them are shown. The --change option can
-  also be used as a shortcut to list the changed files of a revision from its
-  first parent.
+      If one revision is given, it is used as the base revision. If two
+      revisions are given, the differences between them are shown. The --change
+      option can also be used as a shortcut to list the changed files of a
+      revision from its first parent.
   
-  The codes used to show the status of files are:
+      The codes used to show the status of files are:
   
-    M = modified
-    A = added
-    R = removed
-    C = clean
-    ! = missing (deleted by non-hg command, but still tracked)
-    ? = not tracked
-    I = ignored
-      = origin of the previous file (with --copies)
+        M = modified
+        A = added
+        R = removed
+        C = clean
+        ! = missing (deleted by non-hg command, but still tracked)
+        ? = not tracked
+        I = ignored
+          = origin of the previous file (with --copies)
   
-  Returns 0 on success.
+      Returns 0 on success.
   
   defined by: * (glob)
   */* (glob) (?)
--- a/tests/test-bad-extension.t	Thu Oct 24 18:58:58 2024 +0200
+++ b/tests/test-bad-extension.t	Fri Oct 25 23:54:24 2024 +0200
@@ -143,7 +143,6 @@
   YYYY/MM/DD HH:MM:SS (PID)> > extension baddocext take a total of * to load (glob)
   YYYY/MM/DD HH:MM:SS (PID)> > extension gpg take a total of * to load (glob)
   YYYY/MM/DD HH:MM:SS (PID)> extension loading complete
-  Given a topic, extension, or command name, print help for that topic.
 #endif
 
 confirm that there's no crash when an extension's documentation is bad
--- a/tests/test-convert.t	Thu Oct 24 18:58:58 2024 +0200
+++ b/tests/test-convert.t	Fri Oct 25 23:54:24 2024 +0200
@@ -9,34 +9,34 @@
   
   convert a foreign SCM repository to a Mercurial one.
   
-  Accepted source formats [identifiers]:
+      Accepted source formats [identifiers]:
   
-  - Mercurial [hg]
-  - CVS [cvs]
-  - Darcs [darcs]
-  - git [git]
-  - Subversion [svn]
-  - Monotone [mtn]
-  - GNU Arch [gnuarch]
-  - Bazaar [bzr]
-  - Perforce [p4]
+      - Mercurial [hg]
+      - CVS [cvs]
+      - Darcs [darcs]
+      - git [git]
+      - Subversion [svn]
+      - Monotone [mtn]
+      - GNU Arch [gnuarch]
+      - Bazaar [bzr]
+      - Perforce [p4]
   
-  Accepted destination formats [identifiers]:
+      Accepted destination formats [identifiers]:
   
-  - Mercurial [hg]
-  - Subversion [svn] (history on branches is not preserved)
+      - Mercurial [hg]
+      - Subversion [svn] (history on branches is not preserved)
   
-  If no revision is given, all revisions will be converted. Otherwise, convert
-  will only import up to the named revision (given in a format understood by the
-  source).
+      If no revision is given, all revisions will be converted. Otherwise,
+      convert will only import up to the named revision (given in a format
+      understood by the source).
   
-  If no destination directory name is specified, it defaults to the basename of
-  the source with "-hg" appended. If the destination repository doesn't exist,
-  it will be created.
+      If no destination directory name is specified, it defaults to the basename
+      of the source with "-hg" appended. If the destination repository doesn't
+      exist, it will be created.
   
-  By default, all sources except Mercurial will use --branchsort. Mercurial uses
-  --sourcesort to preserve original revision numbers order. Sort modes have the
-  following effects:
+      By default, all sources except Mercurial will use --branchsort. Mercurial
+      uses --sourcesort to preserve original revision numbers order. Sort modes
+      have the following effects:
   
       --branchsort  convert from parent to child revision when possible, which
                     means branches are usually converted one after the other.
@@ -49,346 +49,361 @@
       --closesort   try to move closed revisions as close as possible to parent
                     branches, only supported by Mercurial sources.
   
-  If "REVMAP" isn't given, it will be put in a default location
-  ("<dest>/.hg/shamap" by default). The "REVMAP" is a simple text file that maps
-  each source commit ID to the destination ID for that revision, like so:
+      If "REVMAP" isn't given, it will be put in a default location
+      ("<dest>/.hg/shamap" by default). The "REVMAP" is a simple text file that
+      maps each source commit ID to the destination ID for that revision, like
+      so:
   
-    <source ID> <destination ID>
+        <source ID> <destination ID>
   
-  If the file doesn't exist, it's automatically created. It's updated on each
-  commit copied, so 'hg convert' can be interrupted and can be run repeatedly to
-  copy new commits.
+      If the file doesn't exist, it's automatically created. It's updated on
+      each commit copied, so 'hg convert' can be interrupted and can be run
+      repeatedly to copy new commits.
   
-  The authormap is a simple text file that maps each source commit author to a
-  destination commit author. It is handy for source SCMs that use unix logins to
-  identify authors (e.g.: CVS). One line per author mapping and the line format
-  is:
+      The authormap is a simple text file that maps each source commit author to
+      a destination commit author. It is handy for source SCMs that use unix
+      logins to identify authors (e.g.: CVS). One line per author mapping and
+      the line format is:
   
-    source author = destination author
+        source author = destination author
   
-  Empty lines and lines starting with a "#" are ignored.
+      Empty lines and lines starting with a "#" are ignored.
   
-  The filemap is a file that allows filtering and remapping of files and
-  directories. Each line can contain one of the following directives:
+      The filemap is a file that allows filtering and remapping of files and
+      directories. Each line can contain one of the following directives:
   
-    include path/to/file-or-dir
+        include path/to/file-or-dir
   
-    exclude path/to/file-or-dir
+        exclude path/to/file-or-dir
   
-    rename path/to/source path/to/destination
+        rename path/to/source path/to/destination
   
-  Comment lines start with "#". A specified path matches if it equals the full
-  relative name of a file or one of its parent directories. The "include" or
-  "exclude" directive with the longest matching path applies, so line order does
-  not matter.
+      Comment lines start with "#". A specified path matches if it equals the
+      full relative name of a file or one of its parent directories. The
+      "include" or "exclude" directive with the longest matching path applies,
+      so line order does not matter.
   
-  The "include" directive causes a file, or all files under a directory, to be
-  included in the destination repository. The default if there are no "include"
-  statements is to include everything. If there are any "include" statements,
-  nothing else is included. The "exclude" directive causes files or directories
-  to be omitted. The "rename" directive renames a file or directory if it is
-  converted. To rename from a subdirectory into the root of the repository, use
-  "." as the path to rename to.
+      The "include" directive causes a file, or all files under a directory, to
+      be included in the destination repository. The default if there are no
+      "include" statements is to include everything. If there are any "include"
+      statements, nothing else is included. The "exclude" directive causes files
+      or directories to be omitted. The "rename" directive renames a file or
+      directory if it is converted. To rename from a subdirectory into the root
+      of the repository, use "." as the path to rename to.
   
-  "--full" will make sure the converted changesets contain exactly the right
-  files with the right content. It will make a full conversion of all files, not
-  just the ones that have changed. Files that already are correct will not be
-  changed. This can be used to apply filemap changes when converting
-  incrementally. This is currently only supported for Mercurial and Subversion.
+      "--full" will make sure the converted changesets contain exactly the right
+      files with the right content. It will make a full conversion of all files,
+      not just the ones that have changed. Files that already are correct will
+      not be changed. This can be used to apply filemap changes when converting
+      incrementally. This is currently only supported for Mercurial and
+      Subversion.
   
-  The splicemap is a file that allows insertion of synthetic history, letting
-  you specify the parents of a revision. This is useful if you want to e.g. give
-  a Subversion merge two parents, or graft two disconnected series of history
-  together. Each entry contains a key, followed by a space, followed by one or
-  two comma-separated values:
+      The splicemap is a file that allows insertion of synthetic history,
+      letting you specify the parents of a revision. This is useful if you want
+      to e.g. give a Subversion merge two parents, or graft two disconnected
+      series of history together. Each entry contains a key, followed by a
+      space, followed by one or two comma-separated values:
   
-    key parent1, parent2
+        key parent1, parent2
   
-  The key is the revision ID in the source revision control system whose parents
-  should be modified (same format as a key in .hg/shamap). The values are the
-  revision IDs (in either the source or destination revision control system)
-  that should be used as the new parents for that node. For example, if you have
-  merged "release-1.0" into "trunk", then you should specify the revision on
-  "trunk" as the first parent and the one on the "release-1.0" branch as the
-  second.
+      The key is the revision ID in the source revision control system whose
+      parents should be modified (same format as a key in .hg/shamap). The
+      values are the revision IDs (in either the source or destination revision
+      control system) that should be used as the new parents for that node. For
+      example, if you have merged "release-1.0" into "trunk", then you should
+      specify the revision on "trunk" as the first parent and the one on the
+      "release-1.0" branch as the second.
   
-  The branchmap is a file that allows you to rename a branch when it is being
-  brought in from whatever external repository. When used in conjunction with a
-  splicemap, it allows for a powerful combination to help fix even the most
-  badly mismanaged repositories and turn them into nicely structured Mercurial
-  repositories. The branchmap contains lines of the form:
+      The branchmap is a file that allows you to rename a branch when it is
+      being brought in from whatever external repository. When used in
+      conjunction with a splicemap, it allows for a powerful combination to help
+      fix even the most badly mismanaged repositories and turn them into nicely
+      structured Mercurial repositories. The branchmap contains lines of the
+      form:
   
-    original_branch_name new_branch_name
+        original_branch_name new_branch_name
   
-  where "original_branch_name" is the name of the branch in the source
-  repository, and "new_branch_name" is the name of the branch is the destination
-  repository. No whitespace is allowed in the new branch name. This can be used
-  to (for instance) move code in one repository from "default" to a named
-  branch.
+      where "original_branch_name" is the name of the branch in the source
+      repository, and "new_branch_name" is the name of the branch is the
+      destination repository. No whitespace is allowed in the new branch name.
+      This can be used to (for instance) move code in one repository from
+      "default" to a named branch.
   
-  Mercurial Source
-  ################
+      Mercurial Source
+      ################
   
-  The Mercurial source recognizes the following configuration options, which you
-  can set on the command line with "--config":
+      The Mercurial source recognizes the following configuration options, which
+      you can set on the command line with "--config":
   
-  convert.hg.ignoreerrors
-                ignore integrity errors when reading. Use it to fix Mercurial
-                repositories with missing revlogs, by converting from and to
-                Mercurial. Default is False.
-  convert.hg.saverev
-                store original revision ID in changeset (forces target IDs to
-                change). It takes a boolean argument and defaults to False.
-  convert.hg.startrev
-                specify the initial Mercurial revision. The default is 0.
-  convert.hg.revs
-                revset specifying the source revisions to convert.
+      convert.hg.ignoreerrors
+                    ignore integrity errors when reading. Use it to fix
+                    Mercurial repositories with missing revlogs, by converting
+                    from and to Mercurial. Default is False.
+      convert.hg.saverev
+                    store original revision ID in changeset (forces target IDs
+                    to change). It takes a boolean argument and defaults to
+                    False.
+      convert.hg.startrev
+                    specify the initial Mercurial revision. The default is 0.
+      convert.hg.revs
+                    revset specifying the source revisions to convert.
   
-  Bazaar Source
-  #############
+      Bazaar Source
+      #############
   
-  The following options can be used with "--config":
+      The following options can be used with "--config":
   
-  convert.bzr.saverev
-                whether to store the original Bazaar commit ID in the metadata
-                of the destination commit. The default is True.
+      convert.bzr.saverev
+                    whether to store the original Bazaar commit ID in the
+                    metadata of the destination commit. The default is True.
   
-  CVS Source
-  ##########
+      CVS Source
+      ##########
   
-  CVS source will use a sandbox (i.e. a checked-out copy) from CVS to indicate
-  the starting point of what will be converted. Direct access to the repository
-  files is not needed, unless of course the repository is ":local:". The
-  conversion uses the top level directory in the sandbox to find the CVS
-  repository, and then uses CVS rlog commands to find files to convert. This
-  means that unless a filemap is given, all files under the starting directory
-  will be converted, and that any directory reorganization in the CVS sandbox is
-  ignored.
+      CVS source will use a sandbox (i.e. a checked-out copy) from CVS to
+      indicate the starting point of what will be converted. Direct access to
+      the repository files is not needed, unless of course the repository is
+      ":local:". The conversion uses the top level directory in the sandbox to
+      find the CVS repository, and then uses CVS rlog commands to find files to
+      convert. This means that unless a filemap is given, all files under the
+      starting directory will be converted, and that any directory
+      reorganization in the CVS sandbox is ignored.
   
-  The following options can be used with "--config":
+      The following options can be used with "--config":
   
-  convert.cvsps.cache
-                Set to False to disable remote log caching, for testing and
-                debugging purposes. Default is True.
-  convert.cvsps.fuzz
-                Specify the maximum time (in seconds) that is allowed between
-                commits with identical user and log message in a single
-                changeset. When very large files were checked in as part of a
-                changeset then the default may not be long enough. The default
-                is 60.
-  convert.cvsps.logencoding
-                Specify encoding name to be used for transcoding CVS log
-                messages. Multiple encoding names can be specified as a list
-                (see 'hg help config.Syntax'), but only the first acceptable
-                encoding in the list is used per CVS log entries. This
-                transcoding is executed before cvslog hook below.
-  convert.cvsps.mergeto
-                Specify a regular expression to which commit log messages are
-                matched. If a match occurs, then the conversion process will
-                insert a dummy revision merging the branch on which this log
-                message occurs to the branch indicated in the regex. Default is
-                "{{mergetobranch ([-\w]+)}}"
-  convert.cvsps.mergefrom
-                Specify a regular expression to which commit log messages are
-                matched. If a match occurs, then the conversion process will add
-                the most recent revision on the branch indicated in the regex as
-                the second parent of the changeset. Default is
-                "{{mergefrombranch ([-\w]+)}}"
-  convert.localtimezone
-                use local time (as determined by the TZ environment variable)
-                for changeset date/times. The default is False (use UTC).
-  hooks.cvslog  Specify a Python function to be called at the end of gathering
-                the CVS log. The function is passed a list with the log entries,
-                and can modify the entries in-place, or add or delete them.
-  hooks.cvschangesets
-                Specify a Python function to be called after the changesets are
-                calculated from the CVS log. The function is passed a list with
-                the changeset entries, and can modify the changesets in-place,
-                or add or delete them.
+      convert.cvsps.cache
+                    Set to False to disable remote log caching, for testing and
+                    debugging purposes. Default is True.
+      convert.cvsps.fuzz
+                    Specify the maximum time (in seconds) that is allowed
+                    between commits with identical user and log message in a
+                    single changeset. When very large files were checked in as
+                    part of a changeset then the default may not be long enough.
+                    The default is 60.
+      convert.cvsps.logencoding
+                    Specify encoding name to be used for transcoding CVS log
+                    messages. Multiple encoding names can be specified as a list
+                    (see 'hg help config.Syntax'), but only the first acceptable
+                    encoding in the list is used per CVS log entries. This
+                    transcoding is executed before cvslog hook below.
+      convert.cvsps.mergeto
+                    Specify a regular expression to which commit log messages
+                    are matched. If a match occurs, then the conversion process
+                    will insert a dummy revision merging the branch on which
+                    this log message occurs to the branch indicated in the
+                    regex. Default is "{{mergetobranch ([-\w]+)}}"
+      convert.cvsps.mergefrom
+                    Specify a regular expression to which commit log messages
+                    are matched. If a match occurs, then the conversion process
+                    will add the most recent revision on the branch indicated in
+                    the regex as the second parent of the changeset. Default is
+                    "{{mergefrombranch ([-\w]+)}}"
+      convert.localtimezone
+                    use local time (as determined by the TZ environment
+                    variable) for changeset date/times. The default is False
+                    (use UTC).
+      hooks.cvslog  Specify a Python function to be called at the end of
+                    gathering the CVS log. The function is passed a list with
+                    the log entries, and can modify the entries in-place, or add
+                    or delete them.
+      hooks.cvschangesets
+                    Specify a Python function to be called after the changesets
+                    are calculated from the CVS log. The function is passed a
+                    list with the changeset entries, and can modify the
+                    changesets in-place, or add or delete them.
   
-  An additional "debugcvsps" Mercurial command allows the builtin changeset
-  merging code to be run without doing a conversion. Its parameters and output
-  are similar to that of cvsps 2.1. Please see the command help for more
-  details.
+      An additional "debugcvsps" Mercurial command allows the builtin changeset
+      merging code to be run without doing a conversion. Its parameters and
+      output are similar to that of cvsps 2.1. Please see the command help for
+      more details.
   
-  Subversion Source
-  #################
+      Subversion Source
+      #################
   
-  Subversion source detects classical trunk/branches/tags layouts. By default,
-  the supplied "svn://repo/path/" source URL is converted as a single branch. If
-  "svn://repo/path/trunk" exists it replaces the default branch. If
-  "svn://repo/path/branches" exists, its subdirectories are listed as possible
-  branches. If "svn://repo/path/tags" exists, it is looked for tags referencing
-  converted branches. Default "trunk", "branches" and "tags" values can be
-  overridden with following options. Set them to paths relative to the source
-  URL, or leave them blank to disable auto detection.
+      Subversion source detects classical trunk/branches/tags layouts. By
+      default, the supplied "svn://repo/path/" source URL is converted as a
+      single branch. If "svn://repo/path/trunk" exists it replaces the default
+      branch. If "svn://repo/path/branches" exists, its subdirectories are
+      listed as possible branches. If "svn://repo/path/tags" exists, it is
+      looked for tags referencing converted branches. Default "trunk",
+      "branches" and "tags" values can be overridden with following options. Set
+      them to paths relative to the source URL, or leave them blank to disable
+      auto detection.
   
-  The following options can be set with "--config":
+      The following options can be set with "--config":
   
-  convert.svn.branches
-                specify the directory containing branches. The default is
-                "branches".
-  convert.svn.tags
-                specify the directory containing tags. The default is "tags".
-  convert.svn.trunk
-                specify the name of the trunk branch. The default is "trunk".
-  convert.localtimezone
-                use local time (as determined by the TZ environment variable)
-                for changeset date/times. The default is False (use UTC).
+      convert.svn.branches
+                    specify the directory containing branches. The default is
+                    "branches".
+      convert.svn.tags
+                    specify the directory containing tags. The default is
+                    "tags".
+      convert.svn.trunk
+                    specify the name of the trunk branch. The default is
+                    "trunk".
+      convert.localtimezone
+                    use local time (as determined by the TZ environment
+                    variable) for changeset date/times. The default is False
+                    (use UTC).
   
-  Source history can be retrieved starting at a specific revision, instead of
-  being integrally converted. Only single branch conversions are supported.
+      Source history can be retrieved starting at a specific revision, instead
+      of being integrally converted. Only single branch conversions are
+      supported.
   
-  convert.svn.startrev
-                specify start Subversion revision number. The default is 0.
+      convert.svn.startrev
+                    specify start Subversion revision number. The default is 0.
   
-  Git Source
-  ##########
+      Git Source
+      ##########
   
-  The Git importer converts commits from all reachable branches (refs in
-  refs/heads) and remotes (refs in refs/remotes) to Mercurial. Branches are
-  converted to bookmarks with the same name, with the leading 'refs/heads'
-  stripped. Git submodules are converted to Git subrepos in Mercurial.
+      The Git importer converts commits from all reachable branches (refs in
+      refs/heads) and remotes (refs in refs/remotes) to Mercurial. Branches are
+      converted to bookmarks with the same name, with the leading 'refs/heads'
+      stripped. Git submodules are converted to Git subrepos in Mercurial.
   
-  The following options can be set with "--config":
+      The following options can be set with "--config":
   
-  convert.git.similarity
-                specify how similar files modified in a commit must be to be
-                imported as renames or copies, as a percentage between "0"
-                (disabled) and "100" (files must be identical). For example,
-                "90" means that a delete/add pair will be imported as a rename
-                if more than 90% of the file hasn't changed. The default is
-                "50".
-  convert.git.findcopiesharder
-                while detecting copies, look at all files in the working copy
-                instead of just changed ones. This is very expensive for large
-                projects, and is only effective when "convert.git.similarity" is
-                greater than 0. The default is False.
-  convert.git.renamelimit
-                perform rename and copy detection up to this many changed files
-                in a commit. Increasing this will make rename and copy detection
-                more accurate but will significantly slow down computation on
-                large projects. The option is only relevant if
-                "convert.git.similarity" is greater than 0. The default is
-                "400".
-  convert.git.committeractions
-                list of actions to take when processing author and committer
-                values.
+      convert.git.similarity
+                    specify how similar files modified in a commit must be to be
+                    imported as renames or copies, as a percentage between "0"
+                    (disabled) and "100" (files must be identical). For example,
+                    "90" means that a delete/add pair will be imported as a
+                    rename if more than 90% of the file hasn't changed. The
+                    default is "50".
+      convert.git.findcopiesharder
+                    while detecting copies, look at all files in the working
+                    copy instead of just changed ones. This is very expensive
+                    for large projects, and is only effective when
+                    "convert.git.similarity" is greater than 0. The default is
+                    False.
+      convert.git.renamelimit
+                    perform rename and copy detection up to this many changed
+                    files in a commit. Increasing this will make rename and copy
+                    detection more accurate but will significantly slow down
+                    computation on large projects. The option is only relevant
+                    if "convert.git.similarity" is greater than 0. The default
+                    is "400".
+      convert.git.committeractions
+                    list of actions to take when processing author and committer
+                    values.
   
-      Git commits have separate author (who wrote the commit) and committer (who
-      applied the commit) fields. Not all destinations support separate author
-      and committer fields (including Mercurial). This config option controls
-      what to do with these author and committer fields during conversion.
-  
-      A value of "messagedifferent" will append a "committer: ..." line to the
-      commit message if the Git committer is different from the author. The
-      prefix of that line can be specified using the syntax
-      "messagedifferent=<prefix>". e.g. "messagedifferent=git-committer:". When
-      a prefix is specified, a space will always be inserted between the prefix
-      and the value.
+          Git commits have separate author (who wrote the commit) and committer
+          (who applied the commit) fields. Not all destinations support separate
+          author and committer fields (including Mercurial). This config option
+          controls what to do with these author and committer fields during
+          conversion.
   
-      "messagealways" behaves like "messagedifferent" except it will always
-      result in a "committer: ..." line being appended to the commit message.
-      This value is mutually exclusive with "messagedifferent".
+          A value of "messagedifferent" will append a "committer: ..." line to
+          the commit message if the Git committer is different from the author.
+          The prefix of that line can be specified using the syntax
+          "messagedifferent=<prefix>". e.g. "messagedifferent=git-committer:".
+          When a prefix is specified, a space will always be inserted between
+          the prefix and the value.
   
-      "dropcommitter" will remove references to the committer. Only references
-      to the author will remain. Actions that add references to the committer
-      will have no effect when this is set.
+          "messagealways" behaves like "messagedifferent" except it will always
+          result in a "committer: ..." line being appended to the commit
+          message. This value is mutually exclusive with "messagedifferent".
   
-      "replaceauthor" will replace the value of the author field with the
-      committer. Other actions that add references to the committer will still
-      take effect when this is set.
+          "dropcommitter" will remove references to the committer. Only
+          references to the author will remain. Actions that add references to
+          the committer will have no effect when this is set.
   
-      The default is "messagedifferent".
+          "replaceauthor" will replace the value of the author field with the
+          committer. Other actions that add references to the committer will
+          still take effect when this is set.
   
-  convert.git.extrakeys
-                list of extra keys from commit metadata to copy to the
-                destination. Some Git repositories store extra metadata in
-                commits. By default, this non-default metadata will be lost
-                during conversion. Setting this config option can retain that
-                metadata. Some built-in keys such as "parent" and "branch" are
-                not allowed to be copied.
-  convert.git.remoteprefix
-                remote refs are converted as bookmarks with
-                "convert.git.remoteprefix" as a prefix followed by a /. The
-                default is 'remote'.
-  convert.git.saverev
-                whether to store the original Git commit ID in the metadata of
-                the destination commit. The default is True.
-  convert.git.skipsubmodules
-                does not convert root level .gitmodules files or files with
-                160000 mode indicating a submodule. Default is False.
+          The default is "messagedifferent".
+  
+      convert.git.extrakeys
+                    list of extra keys from commit metadata to copy to the
+                    destination. Some Git repositories store extra metadata in
+                    commits. By default, this non-default metadata will be lost
+                    during conversion. Setting this config option can retain
+                    that metadata. Some built-in keys such as "parent" and
+                    "branch" are not allowed to be copied.
+      convert.git.remoteprefix
+                    remote refs are converted as bookmarks with
+                    "convert.git.remoteprefix" as a prefix followed by a /. The
+                    default is 'remote'.
+      convert.git.saverev
+                    whether to store the original Git commit ID in the metadata
+                    of the destination commit. The default is True.
+      convert.git.skipsubmodules
+                    does not convert root level .gitmodules files or files with
+                    160000 mode indicating a submodule. Default is False.
   
-  Perforce Source
-  ###############
+      Perforce Source
+      ###############
   
-  The Perforce (P4) importer can be given a p4 depot path or a client
-  specification as source. It will convert all files in the source to a flat
-  Mercurial repository, ignoring labels, branches and integrations. Note that
-  when a depot path is given you then usually should specify a target directory,
-  because otherwise the target may be named "...-hg".
+      The Perforce (P4) importer can be given a p4 depot path or a client
+      specification as source. It will convert all files in the source to a flat
+      Mercurial repository, ignoring labels, branches and integrations. Note
+      that when a depot path is given you then usually should specify a target
+      directory, because otherwise the target may be named "...-hg".
   
-  The following options can be set with "--config":
+      The following options can be set with "--config":
   
-  convert.p4.encoding
-                specify the encoding to use when decoding standard output of the
-                Perforce command line tool. The default is default system
-                encoding.
-  convert.p4.startrev
-                specify initial Perforce revision (a Perforce changelist
-                number).
+      convert.p4.encoding
+                    specify the encoding to use when decoding standard output of
+                    the Perforce command line tool. The default is default
+                    system encoding.
+      convert.p4.startrev
+                    specify initial Perforce revision (a Perforce changelist
+                    number).
   
-  Mercurial Destination
-  #####################
+      Mercurial Destination
+      #####################
   
-  The Mercurial destination will recognize Mercurial subrepositories in the
-  destination directory, and update the .hgsubstate file automatically if the
-  destination subrepositories contain the <dest>/<sub>/.hg/shamap file.
-  Converting a repository with subrepositories requires converting a single
-  repository at a time, from the bottom up.
+      The Mercurial destination will recognize Mercurial subrepositories in the
+      destination directory, and update the .hgsubstate file automatically if
+      the destination subrepositories contain the <dest>/<sub>/.hg/shamap file.
+      Converting a repository with subrepositories requires converting a single
+      repository at a time, from the bottom up.
   
-  The following options are supported:
+      The following options are supported:
   
-  convert.hg.clonebranches
-                dispatch source branches in separate clones. The default is
-                False.
-  convert.hg.tagsbranch
-                branch name for tag revisions, defaults to "default".
-  convert.hg.usebranchnames
-                preserve branch names. The default is True.
-  convert.hg.sourcename
-                records the given string as a 'convert_source' extra value on
-                each commit made in the target repository. The default is None.
-  convert.hg.preserve-hash
-                only works with mercurial sources. Make convert prevent
-                performance improvement to the list of modified files in commits
-                when such an improvement would cause the hash of a commit to
-                change. The default is False.
+      convert.hg.clonebranches
+                    dispatch source branches in separate clones. The default is
+                    False.
+      convert.hg.tagsbranch
+                    branch name for tag revisions, defaults to "default".
+      convert.hg.usebranchnames
+                    preserve branch names. The default is True.
+      convert.hg.sourcename
+                    records the given string as a 'convert_source' extra value
+                    on each commit made in the target repository. The default is
+                    None.
+      convert.hg.preserve-hash
+                    only works with mercurial sources. Make convert prevent
+                    performance improvement to the list of modified files in
+                    commits when such an improvement would cause the hash of a
+                    commit to change. The default is False.
   
-  All Destinations
-  ################
+      All Destinations
+      ################
   
-  All destination types accept the following options:
+      All destination types accept the following options:
   
-  convert.skiptags
-                does not convert tags from the source repo to the target repo.
-                The default is False.
+      convert.skiptags
+                    does not convert tags from the source repo to the target
+                    repo. The default is False.
   
-  Subversion Destination
-  ######################
+      Subversion Destination
+      ######################
   
-  Original commit dates are not preserved by default.
+      Original commit dates are not preserved by default.
   
-  convert.svn.dangerous-set-commit-dates
-                preserve original commit dates, forcefully setting "svn:date"
-                revision properties. This option is DANGEROUS and may break some
-                subversion functionality for the resulting repository (e.g.
-                filtering revisions with date ranges in "svn log"), as original
-                commit dates are not guaranteed to be monotonically increasing.
+      convert.svn.dangerous-set-commit-dates
+                    preserve original commit dates, forcefully setting
+                    "svn:date" revision properties. This option is DANGEROUS and
+                    may break some subversion functionality for the resulting
+                    repository (e.g. filtering revisions with date ranges in
+                    "svn log"), as original commit dates are not guaranteed to
+                    be monotonically increasing.
   
-  For commit dates setting to work destination repository must have "pre-
-  revprop-change" hook configured to allow setting of "svn:date" revision
-  properties. See Subversion documentation for more details.
+      For commit dates setting to work destination repository must have "pre-
+      revprop-change" hook configured to allow setting of "svn:date" revision
+      properties. See Subversion documentation for more details.
   
   options ([+] can be repeated):
   
--- a/tests/test-encoding-textwrap.t	Thu Oct 24 18:58:58 2024 +0200
+++ b/tests/test-encoding-textwrap.t	Fri Oct 25 23:54:24 2024 +0200
@@ -63,11 +63,11 @@
   
   \x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf \x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf \x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf (esc)
   
-  \x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf \x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf \x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf (esc)
-  \x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf (esc)
+      \x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf \x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf (esc)
+      \x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf \x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf (esc)
   
-  \x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf\x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf\x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf\x82\xa0\x82\xa2 (esc)
-  \x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf (esc)
+      \x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf\x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf\x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf (esc)
+      \x82\xa0\x82\xa2\x82\xa4\x82\xa6\x82\xa8\x82\xa9\x82\xab\x82\xad\x82\xaf (esc)
   
   (some details hidden, use --verbose to show complete help)
 
@@ -78,11 +78,11 @@
   
   \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91 (esc)
   
-  \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91 (esc)
-  \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91 (esc)
+      \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91 (esc)
+      \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91 \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91 (esc)
   
-  \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91\xe3\x81\x82\xe3\x81\x84 (esc)
-  \xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91 (esc)
+      \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91\xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91 (esc)
+      \xe3\x81\x82\xe3\x81\x84\xe3\x81\x86\xe3\x81\x88\xe3\x81\x8a\xe3\x81\x8b\xe3\x81\x8d\xe3\x81\x8f\xe3\x81\x91 (esc)
   
   (some details hidden, use --verbose to show complete help)
 
@@ -94,11 +94,11 @@
   
   \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 (esc)
   
-  \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 (esc)
-  \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 (esc)
+      \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 (esc)
+      \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 (esc)
   
-  \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xb1\xb2\xb3\xb4 (esc)
-  \xb5\xb6\xb7\xb8\xb9\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 (esc)
+      \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 (esc)
+      \xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9 (esc)
   
   (some details hidden, use --verbose to show complete help)
 
@@ -109,11 +109,11 @@
   
   \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 (esc)
   
-  \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 (esc)
-  \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 (esc)
+      \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 (esc)
+      \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 (esc)
   
-  \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9\xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9\xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9\xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9\xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9\xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9\xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4 (esc)
-  \xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9\xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 (esc)
+      \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9\xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9\xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9\xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9\xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9\xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 (esc)
+      \xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9\xef\xbd\xb1\xef\xbd\xb2\xef\xbd\xb3\xef\xbd\xb4\xef\xbd\xb5\xef\xbd\xb6\xef\xbd\xb7\xef\xbd\xb8\xef\xbd\xb9 (esc)
   
   (some details hidden, use --verbose to show complete help)
 
@@ -130,11 +130,11 @@
   
   \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
   
-  \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
-  \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
+      \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
+      \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
   
-  \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2 (esc)
-  \x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
+      \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
+      \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
   
   (some details hidden, use --verbose to show complete help)
 
@@ -145,11 +145,11 @@
   
   \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
   
-  \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
-  \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
+      \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
+      \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
   
-  \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4 (esc)
-  \xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
+      \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
+      \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
   
   (some details hidden, use --verbose to show complete help)
 
@@ -160,11 +160,11 @@
   
   \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 (esc)
   
-  \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 (esc)
-  \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 (esc)
+      \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 (esc)
+      \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 (esc)
   
-  \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2 (esc)
-  \xf0\xee\xe9\xea\xe8 (esc)
+      \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 (esc)
+      \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 (esc)
   
   (some details hidden, use --verbose to show complete help)
 
@@ -175,11 +175,11 @@
   
   \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
   
-  \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
-  \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
+      \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
+      \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
   
-  \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82 (esc)
-  \xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
+      \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
+      \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
   
   (some details hidden, use --verbose to show complete help)
 
@@ -193,13 +193,14 @@
   
   \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
   
-  \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
-  \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
-  \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
+      \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
+      \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
+      \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
+      \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
   
-  \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0 (esc)
-  \x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2 (esc)
-  \x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
+      \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
+      \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b\x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
+      \x83\xbf\x83\xc0\x83\xc1\x83\xc2\x83\xd2\x83\xc4\x83\xc5\x83\xc6\x81\x9b (esc)
   
   (some details hidden, use --verbose to show complete help)
 
@@ -210,13 +211,14 @@
   
   \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
   
-  \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
-  \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
-  \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
+      \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
+      \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
+      \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
+      \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
   
-  \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2 (esc)
-  \xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4 (esc)
-  \xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
+      \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
+      \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b\xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
+      \xce\xb1\xce\xb2\xce\xb3\xce\xb4\xcf\x85\xce\xb6\xce\xb7\xce\xb8\xe2\x97\x8b (esc)
   
   (some details hidden, use --verbose to show complete help)
 
@@ -228,12 +230,13 @@
   \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 (esc)
   \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 (esc)
   
-  \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 (esc)
-  \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 (esc)
+      \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 (esc)
+      \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 (esc)
+      \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 (esc)
   
-  \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0 (esc)
-  \xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2 (esc)
-  \xf0\xee\xe9\xea\xe8 (esc)
+      \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 (esc)
+      \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8\xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 (esc)
+      \xcd\xe0\xf1\xf2\xf0\xee\xe9\xea\xe8 (esc)
   
   (some details hidden, use --verbose to show complete help)
 
@@ -245,12 +248,13 @@
   \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
   \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
   
-  \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
-  \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
+      \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
+      \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
+      \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
   
-  \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0 (esc)
-  \xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82 (esc)
-  \xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
+      \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
+      \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8\xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
+      \xd0\x9d\xd0\xb0\xd1\x81\xd1\x82\xd1\x80\xd0\xbe\xd0\xb9\xd0\xba\xd0\xb8 (esc)
   
   (some details hidden, use --verbose to show complete help)
 
--- a/tests/test-extdiff.t	Thu Oct 24 18:58:58 2024 +0200
+++ b/tests/test-extdiff.t	Fri Oct 25 23:54:24 2024 +0200
@@ -37,15 +37,15 @@
   
   use external program to diff repository (or selected files)
   
-  Show differences between revisions for the specified files, using the
-  following program:
+      Show differences between revisions for the specified files, using the
+      following program:
   
-    'echo'
+        'echo'
   
-  When two revision arguments are given, then changes are shown between those
-  revisions. If only one revision is specified then that revision is compared to
-  the working directory, and, when no revisions are specified, the working
-  directory files are compared to its parent.
+      When two revision arguments are given, then changes are shown between
+      those revisions. If only one revision is specified then that revision is
+      compared to the working directory, and, when no revisions are specified,
+      the working directory files are compared to its parent.
   
   options ([+] can be repeated):
   
@@ -523,8 +523,8 @@
   [10]
 
   $ LC_MESSAGES=ja_JP.UTF-8 hg --config hgext.extdiff= --config extdiff.cmd.td=$U help td \
-  > | grep "^  '"
-    '\xa5\xa5'
+  > | grep "^      '"
+        '\xa5\xa5'
 
   $ cd $TESTTMP
 
--- a/tests/test-extension.t	Thu Oct 24 18:58:58 2024 +0200
+++ b/tests/test-extension.t	Fri Oct 25 23:54:24 2024 +0200
@@ -755,28 +755,30 @@
   
   use external program to diff repository (or selected files)
   
-  Show differences between revisions for the specified files, using an external
-  program. The default program used is diff, with default options "-Npru".
+      Show differences between revisions for the specified files, using an
+      external program. The default program used is diff, with default options
+      "-Npru".
   
-  To select a different program, use the -p/--program option. The program will
-  be passed the names of two directories to compare, unless the --per-file
-  option is specified (see below). To pass additional options to the program,
-  use -o/--option. These will be passed before the names of the directories or
-  files to compare.
+      To select a different program, use the -p/--program option. The program
+      will be passed the names of two directories to compare, unless the --per-
+      file option is specified (see below). To pass additional options to the
+      program, use -o/--option. These will be passed before the names of the
+      directories or files to compare.
   
-  The --from, --to, and --change options work the same way they do for 'hg
-  diff'.
+      The --from, --to, and --change options work the same way they do for 'hg
+      diff'.
   
-  The --per-file option runs the external program repeatedly on each file to
-  diff, instead of once on two directories. By default, this happens one by one,
-  where the next file diff is open in the external program only once the
-  previous external program (for the previous file diff) has exited. If the
-  external program has a graphical interface, it can open all the file diffs at
-  once instead of one by one. See 'hg help -e extdiff' for information about how
-  to tell Mercurial that a given program has a graphical interface.
+      The --per-file option runs the external program repeatedly on each file to
+      diff, instead of once on two directories. By default, this happens one by
+      one, where the next file diff is open in the external program only once
+      the previous external program (for the previous file diff) has exited. If
+      the external program has a graphical interface, it can open all the file
+      diffs at once instead of one by one. See 'hg help -e extdiff' for
+      information about how to tell Mercurial that a given program has a
+      graphical interface.
   
-  The --confirm option will prompt the user before each invocation of the
-  external program. It is ignored if --per-file isn't specified.
+      The --confirm option will prompt the user before each invocation of the
+      external program. It is ignored if --per-file isn't specified.
   
   (use 'hg help -e extdiff' to show help for the extdiff extension)
   
@@ -1830,7 +1832,9 @@
   >     return orig(*args, **opts)
   > def uisetup(ui):
   >     synopsis = b' GREPME [--foo] [-x]'
-  >     docstring = '\nGREPME make sure that this is in the help!'
+  >     docstring = '''
+  >     GREPME make sure that this is in the help!
+  >     '''
   >     extensions.wrapcommand(commands.table, b'bookmarks', exbookmarks,
   >                            synopsis, docstring)
   > EOF
@@ -1840,7 +1844,7 @@
   $ cd exthelp
   $ hg help bookmarks | grep GREPME
   hg bookmarks [OPTIONS]... [NAME]... GREPME [--foo] [-x]
-  GREPME make sure that this is in the help!
+      GREPME make sure that this is in the help!
   $ cd ..
 
 Prohibit the use of unicode strings as the default value of options
--- a/tests/test-fix.t	Thu Oct 24 18:58:58 2024 +0200
+++ b/tests/test-fix.t	Fri Oct 25 23:54:24 2024 +0200
@@ -84,26 +84,27 @@
   
   rewrite file content in changesets or working directory
   
-  Runs any configured tools to fix the content of files. (See 'hg help -e fix'
-  for details about configuring tools.) Only affects files with changes, unless
-  file arguments are provided. Only affects changed lines of files, unless the
-  --whole flag is used. Some tools may always affect the whole file regardless
-  of --whole.
+      Runs any configured tools to fix the content of files. (See 'hg help -e
+      fix' for details about configuring tools.) Only affects files with
+      changes, unless file arguments are provided. Only affects changed lines of
+      files, unless the --whole flag is used. Some tools may always affect the
+      whole file regardless of --whole.
   
-  If --working-dir is used, files with uncommitted changes in the working copy
-  will be fixed. Note that no backup are made.
+      If --working-dir is used, files with uncommitted changes in the working
+      copy will be fixed. Note that no backup are made.
   
-  If revisions are specified with --source, those revisions and their
-  descendants will be checked, and they may be replaced with new revisions that
-  have fixed file content. By automatically including the descendants, no
-  merging, rebasing, or evolution will be required. If an ancestor of the
-  working copy is included, then the working copy itself will also be fixed, and
-  the working copy will be updated to the fixed parent.
+      If revisions are specified with --source, those revisions and their
+      descendants will be checked, and they may be replaced with new revisions
+      that have fixed file content. By automatically including the descendants,
+      no merging, rebasing, or evolution will be required. If an ancestor of the
+      working copy is included, then the working copy itself will also be fixed,
+      and the working copy will be updated to the fixed parent.
   
-  When determining what lines of each file to fix at each revision, the whole
-  set of revisions being fixed is considered, so that fixes to earlier revisions
-  are not forgotten in later ones. The --base flag can be used to override this
-  default behavior, though it is not usually desirable to do so.
+      When determining what lines of each file to fix at each revision, the
+      whole set of revisions being fixed is considered, so that fixes to earlier
+      revisions are not forgotten in later ones. The --base flag can be used to
+      override this default behavior, though it is not usually desirable to do
+      so.
   
   (use 'hg help -e fix' to show help for the fix extension)
   
--- a/tests/test-help.t	Thu Oct 24 18:58:58 2024 +0200
+++ b/tests/test-help.t	Fri Oct 25 23:54:24 2024 +0200
@@ -467,15 +467,15 @@
   
   add the specified files on the next commit
   
-  Schedule files to be version controlled and added to the repository.
-  
-  The files will be added to the repository at the next commit. To undo an add
-  before that, see 'hg forget'.
-  
-  If no names are given, add all files to the repository (except files matching
-  ".hgignore").
-  
-  Returns 0 if all files are successfully added.
+      Schedule files to be version controlled and added to the repository.
+  
+      The files will be added to the repository at the next commit. To undo an
+      add before that, see 'hg forget'.
+  
+      If no names are given, add all files to the repository (except files
+      matching ".hgignore").
+  
+      Returns 0 if all files are successfully added.
   
   options ([+] can be repeated):
   
@@ -493,40 +493,40 @@
   
   add the specified files on the next commit
   
-  Schedule files to be version controlled and added to the repository.
-  
-  The files will be added to the repository at the next commit. To undo an add
-  before that, see 'hg forget'.
-  
-  If no names are given, add all files to the repository (except files matching
-  ".hgignore").
-  
-  Examples:
-  
-    - New (unknown) files are added automatically by 'hg add':
-  
-        $ ls
-        foo.c
-        $ hg status
-        ? foo.c
-        $ hg add
-        adding foo.c
-        $ hg status
-        A foo.c
-  
-    - Specific files to be added can be specified:
-  
-        $ ls
-        bar.c  foo.c
-        $ hg status
-        ? bar.c
-        ? foo.c
-        $ hg add bar.c
-        $ hg status
-        A bar.c
-        ? foo.c
-  
-  Returns 0 if all files are successfully added.
+      Schedule files to be version controlled and added to the repository.
+  
+      The files will be added to the repository at the next commit. To undo an
+      add before that, see 'hg forget'.
+  
+      If no names are given, add all files to the repository (except files
+      matching ".hgignore").
+  
+      Examples:
+  
+        - New (unknown) files are added automatically by 'hg add':
+  
+            $ ls
+            foo.c
+            $ hg status
+            ? foo.c
+            $ hg add
+            adding foo.c
+            $ hg status
+            A foo.c
+  
+        - Specific files to be added can be specified:
+  
+            $ ls
+            bar.c  foo.c
+            $ hg status
+            ? bar.c
+            ? foo.c
+            $ hg add bar.c
+            $ hg status
+            A bar.c
+            ? foo.c
+  
+      Returns 0 if all files are successfully added.
   
   options ([+] can be repeated):
   
@@ -568,10 +568,10 @@
   print the root (top) of the current working
   directory
   
-  Print the root directory of the current
-  repository.
-  
-  Returns 0 on success.
+      Print the root directory of the current
+      repository.
+  
+      Returns 0 on success.
   
   options:
   
@@ -630,19 +630,20 @@
   
   verify the integrity of the repository
   
-  Verify the integrity of the current repository.
-  
-  This will perform an extensive check of the repository's integrity, validating
-  the hashes and checksums of each entry in the changelog, manifest, and tracked
-  files, as well as the integrity of their crosslinks and indices.
-  
-  Please see https://mercurial-scm.org/wiki/RepositoryCorruption for more
-  information about recovery from corruption of the repository.
-  
-  For an alternative UI with a lot more control over the verification process
-  and better error reporting, try 'hg help admin::verify'.
-  
-  Returns 0 on success, 1 if errors are encountered.
+      Verify the integrity of the current repository.
+  
+      This will perform an extensive check of the repository's integrity,
+      validating the hashes and checksums of each entry in the changelog,
+      manifest, and tracked files, as well as the integrity of their crosslinks
+      and indices.
+  
+      Please see https://mercurial-scm.org/wiki/RepositoryCorruption for more
+      information about recovery from corruption of the repository.
+  
+      For an alternative UI with a lot more control over the verification
+      process and better error reporting, try 'hg help admin::verify'.
+  
+      Returns 0 on success, 1 if errors are encountered.
   
   options:
   
@@ -653,36 +654,36 @@
   
   diff repository (or selected files)
   
-  Show differences between revisions for the specified files.
-  
-  Differences between files are shown using the unified diff format.
-  
-  Note:
-     'hg diff' may generate unexpected results for merges, as it will default to
-     comparing against the working directory's first parent changeset if no
-     revisions are specified.  To diff against the conflict regions, you can use
-     '--config diff.merge=yes'.
-  
-  By default, the working directory files are compared to its first parent. To
-  see the differences from another revision, use --from. To see the difference
-  to another revision, use --to. For example, 'hg diff --from .^' will show the
-  differences from the working copy's grandparent to the working copy, 'hg diff
-  --to .' will show the diff from the working copy to its parent (i.e. the
-  reverse of the default), and 'hg diff --from 1.0 --to 1.2' will show the diff
-  between those two revisions.
-  
-  Alternatively you can specify -c/--change with a revision to see the changes
-  in that changeset relative to its first parent (i.e. 'hg diff -c 42' is
-  equivalent to 'hg diff --from 42^ --to 42')
-  
-  Without the -a/--text option, diff will avoid generating diffs of files it
-  detects as binary. With -a, diff will generate a diff anyway, probably with
-  undesirable results.
-  
-  Use the -g/--git option to generate diffs in the git extended diff format. For
-  more information, read 'hg help diffs'.
-  
-  Returns 0 on success.
+      Show differences between revisions for the specified files.
+  
+      Differences between files are shown using the unified diff format.
+  
+      Note:
+         'hg diff' may generate unexpected results for merges, as it will
+         default to comparing against the working directory's first parent
+         changeset if no revisions are specified.  To diff against the conflict
+         regions, you can use '--config diff.merge=yes'.
+  
+      By default, the working directory files are compared to its first parent.
+      To see the differences from another revision, use --from. To see the
+      difference to another revision, use --to. For example, 'hg diff --from .^'
+      will show the differences from the working copy's grandparent to the
+      working copy, 'hg diff --to .' will show the diff from the working copy to
+      its parent (i.e. the reverse of the default), and 'hg diff --from 1.0 --to
+      1.2' will show the diff between those two revisions.
+  
+      Alternatively you can specify -c/--change with a revision to see the
+      changes in that changeset relative to its first parent (i.e. 'hg diff -c
+      42' is equivalent to 'hg diff --from 42^ --to 42')
+  
+      Without the -a/--text option, diff will avoid generating diffs of files it
+      detects as binary. With -a, diff will generate a diff anyway, probably
+      with undesirable results.
+  
+      Use the -g/--git option to generate diffs in the git extended diff format.
+      For more information, read 'hg help diffs'.
+  
+      Returns 0 on success.
   
   options ([+] can be repeated):
   
@@ -716,37 +717,38 @@
   
   show changed files in the working directory
   
-  Show status of files in the repository. If names are given, only files that
-  match are shown. Files that are clean or ignored or the source of a copy/move
-  operation, are not listed unless -c/--clean, -i/--ignored, -C/--copies or
-  -A/--all are given. Unless options described with "show only ..." are given,
-  the options -mardu are used.
-  
-  Option -q/--quiet hides untracked (unknown and ignored) files unless
-  explicitly requested with -u/--unknown or -i/--ignored.
-  
-  Note:
-     'hg status' may appear to disagree with diff if permissions have changed or
-     a merge has occurred. The standard diff format does not report permission
-     changes and diff only reports changes relative to one merge parent.
-  
-  If one revision is given, it is used as the base revision. If two revisions
-  are given, the differences between them are shown. The --change option can
-  also be used as a shortcut to list the changed files of a revision from its
-  first parent.
-  
-  The codes used to show the status of files are:
-  
-    M = modified
-    A = added
-    R = removed
-    C = clean
-    ! = missing (deleted by non-hg command, but still tracked)
-    ? = not tracked
-    I = ignored
-      = origin of the previous file (with --copies)
-  
-  Returns 0 on success.
+      Show status of files in the repository. If names are given, only files
+      that match are shown. Files that are clean or ignored or the source of a
+      copy/move operation, are not listed unless -c/--clean, -i/--ignored,
+      -C/--copies or -A/--all are given. Unless options described with "show
+      only ..." are given, the options -mardu are used.
+  
+      Option -q/--quiet hides untracked (unknown and ignored) files unless
+      explicitly requested with -u/--unknown or -i/--ignored.
+  
+      Note:
+         'hg status' may appear to disagree with diff if permissions have
+         changed or a merge has occurred. The standard diff format does not
+         report permission changes and diff only reports changes relative to one
+         merge parent.
+  
+      If one revision is given, it is used as the base revision. If two
+      revisions are given, the differences between them are shown. The --change
+      option can also be used as a shortcut to list the changed files of a
+      revision from its first parent.
+  
+      The codes used to show the status of files are:
+  
+        M = modified
+        A = added
+        R = removed
+        C = clean
+        ! = missing (deleted by non-hg command, but still tracked)
+        ? = not tracked
+        I = ignored
+          = origin of the previous file (with --copies)
+  
+      Returns 0 on success.
   
   options ([+] can be repeated):
   
@@ -905,13 +907,13 @@
   
   summarize working directory state
   
-  This generates a brief summary of the working directory state, including
-  parents, branch, commit status, phase and available updates.
-  
-  With the --remote option, this will check the default paths for incoming and
-  outgoing changes. This can be time-consuming.
-  
-  Returns 0 on success.
+      This generates a brief summary of the working directory state, including
+      parents, branch, commit status, phase and available updates.
+  
+      With the --remote option, this will check the default paths for incoming
+      and outgoing changes. This can be time-consuming.
+  
+      Returns 0 on success.
   
   defined by: helpext
   
--- a/tests/test-mq-qrefresh-interactive.t	Thu Oct 24 18:58:58 2024 +0200
+++ b/tests/test-mq-qrefresh-interactive.t	Fri Oct 25 23:54:24 2024 +0200
@@ -12,22 +12,22 @@
   
   update the current patch
   
-  If any file patterns are provided, the refreshed patch will contain only the
-  modifications that match those patterns; the remaining modifications will
-  remain in the working directory.
+      If any file patterns are provided, the refreshed patch will contain only
+      the modifications that match those patterns; the remaining modifications
+      will remain in the working directory.
   
-  If -s/--short is specified, files currently included in the patch will be
-  refreshed just like matched files and remain in the patch.
+      If -s/--short is specified, files currently included in the patch will be
+      refreshed just like matched files and remain in the patch.
   
-  If -e/--edit is specified, Mercurial will start your configured editor for you
-  to enter a message. In case qrefresh fails, you will find a backup of your
-  message in ".hg/last-message.txt".
+      If -e/--edit is specified, Mercurial will start your configured editor for
+      you to enter a message. In case qrefresh fails, you will find a backup of
+      your message in ".hg/last-message.txt".
   
-  hg add/remove/copy/rename work as usual, though you might want to use git-
-  style patches (-g/--git or [diff] git=1) to track copies and renames. See the
-  diffs help topic for more information on the git diff format.
+      hg add/remove/copy/rename work as usual, though you might want to use git-
+      style patches (-g/--git or [diff] git=1) to track copies and renames. See
+      the diffs help topic for more information on the git diff format.
   
-  Returns 0 on success.
+      Returns 0 on success.
   
   options ([+] can be repeated):
   
@@ -54,22 +54,22 @@
   
   update the current patch
   
-  If any file patterns are provided, the refreshed patch will contain only the
-  modifications that match those patterns; the remaining modifications will
-  remain in the working directory.
+      If any file patterns are provided, the refreshed patch will contain only
+      the modifications that match those patterns; the remaining modifications
+      will remain in the working directory.
   
-  If -s/--short is specified, files currently included in the patch will be
-  refreshed just like matched files and remain in the patch.
+      If -s/--short is specified, files currently included in the patch will be
+      refreshed just like matched files and remain in the patch.
   
-  If -e/--edit is specified, Mercurial will start your configured editor for you
-  to enter a message. In case qrefresh fails, you will find a backup of your
-  message in ".hg/last-message.txt".
+      If -e/--edit is specified, Mercurial will start your configured editor for
+      you to enter a message. In case qrefresh fails, you will find a backup of
+      your message in ".hg/last-message.txt".
   
-  hg add/remove/copy/rename work as usual, though you might want to use git-
-  style patches (-g/--git or [diff] git=1) to track copies and renames. See the
-  diffs help topic for more information on the git diff format.
+      hg add/remove/copy/rename work as usual, though you might want to use git-
+      style patches (-g/--git or [diff] git=1) to track copies and renames. See
+      the diffs help topic for more information on the git diff format.
   
-  Returns 0 on success.
+      Returns 0 on success.
   
   options ([+] can be repeated):
   
--- a/tests/test-qrecord.t	Thu Oct 24 18:58:58 2024 +0200
+++ b/tests/test-qrecord.t	Fri Oct 25 23:54:24 2024 +0200
@@ -34,30 +34,30 @@
   
   interactively select changes to commit
   
-  If a list of files is omitted, all changes reported by 'hg status' will be
-  candidates for recording.
+      If a list of files is omitted, all changes reported by 'hg status' will be
+      candidates for recording.
   
-  See 'hg help dates' for a list of formats valid for -d/--date.
+      See 'hg help dates' for a list of formats valid for -d/--date.
   
-  If using the text interface (see 'hg help config'), you will be prompted for
-  whether to record changes to each modified file, and for files with multiple
-  changes, for each change to use. For each query, the following responses are
-  possible:
+      If using the text interface (see 'hg help config'), you will be prompted
+      for whether to record changes to each modified file, and for files with
+      multiple changes, for each change to use. For each query, the following
+      responses are possible:
   
-    y - record this change
-    n - skip this change
-    e - edit this change manually
+        y - record this change
+        n - skip this change
+        e - edit this change manually
   
-    s - skip remaining changes to this file
-    f - record remaining changes to this file
+        s - skip remaining changes to this file
+        f - record remaining changes to this file
   
-    d - done, skip remaining changes and files
-    a - record all changes to all remaining files
-    q - quit, recording no changes
+        d - done, skip remaining changes and files
+        a - record all changes to all remaining files
+        q - quit, recording no changes
   
-    ? - display help
+        ? - display help
   
-  This command is not available when committing a merge.
+      This command is not available when committing a merge.
   
   (use 'hg help -e record' to show help for the record extension)
   
@@ -91,7 +91,7 @@
   
   interactively record a new patch
   
-  See 'hg help qnew' & 'hg help record' for more information and usage.
+      See 'hg help qnew' & 'hg help record' for more information and usage.
   
   (some details hidden, use --verbose to show complete help)
 
@@ -123,7 +123,7 @@
   
   interactively record a new patch
   
-  See 'hg help qnew' & 'hg help record' for more information and usage.
+      See 'hg help qnew' & 'hg help record' for more information and usage.
   
   (some details hidden, use --verbose to show complete help)
 
@@ -137,7 +137,7 @@
   
   interactively record a new patch
   
-  See 'hg help qnew' & 'hg help record' for more information and usage.
+      See 'hg help qnew' & 'hg help record' for more information and usage.
   
   options ([+] can be repeated):
   
--- a/tests/test-record.t	Thu Oct 24 18:58:58 2024 +0200
+++ b/tests/test-record.t	Fri Oct 25 23:54:24 2024 +0200
@@ -17,30 +17,30 @@
   
   interactively select changes to commit
   
-  If a list of files is omitted, all changes reported by 'hg status' will be
-  candidates for recording.
+      If a list of files is omitted, all changes reported by 'hg status' will be
+      candidates for recording.
   
-  See 'hg help dates' for a list of formats valid for -d/--date.
+      See 'hg help dates' for a list of formats valid for -d/--date.
   
-  If using the text interface (see 'hg help config'), you will be prompted for
-  whether to record changes to each modified file, and for files with multiple
-  changes, for each change to use. For each query, the following responses are
-  possible:
+      If using the text interface (see 'hg help config'), you will be prompted
+      for whether to record changes to each modified file, and for files with
+      multiple changes, for each change to use. For each query, the following
+      responses are possible:
   
-    y - record this change
-    n - skip this change
-    e - edit this change manually
+        y - record this change
+        n - skip this change
+        e - edit this change manually
   
-    s - skip remaining changes to this file
-    f - record remaining changes to this file
+        s - skip remaining changes to this file
+        f - record remaining changes to this file
   
-    d - done, skip remaining changes and files
-    a - record all changes to all remaining files
-    q - quit, recording no changes
+        d - done, skip remaining changes and files
+        a - record all changes to all remaining files
+        q - quit, recording no changes
   
-    ? - display help
+        ? - display help
   
-  This command is not available when committing a merge.
+      This command is not available when committing a merge.
   
   (use 'hg help -e record' to show help for the record extension)
   
--- a/tests/test-shelve.t	Thu Oct 24 18:58:58 2024 +0200
+++ b/tests/test-shelve.t	Fri Oct 25 23:54:24 2024 +0200
@@ -45,34 +45,34 @@
   
   save and set aside changes from the working directory
   
-  Shelving takes files that "hg status" reports as not clean, saves the
-  modifications to a bundle (a shelved change), and reverts the files so that
-  their state in the working directory becomes clean.
+      Shelving takes files that "hg status" reports as not clean, saves the
+      modifications to a bundle (a shelved change), and reverts the files so
+      that their state in the working directory becomes clean.
   
-  To restore these changes to the working directory, using "hg unshelve"; this
-  will work even if you switch to a different commit.
+      To restore these changes to the working directory, using "hg unshelve";
+      this will work even if you switch to a different commit.
   
-  When no files are specified, "hg shelve" saves all not-clean files. If
-  specific files or directories are named, only changes to those files are
-  shelved.
+      When no files are specified, "hg shelve" saves all not-clean files. If
+      specific files or directories are named, only changes to those files are
+      shelved.
   
-  In bare shelve (when no files are specified, without interactive, include and
-  exclude option), shelving remembers information if the working directory was
-  on newly created branch, in other words working directory was on different
-  branch than its first parent. In this situation unshelving restores branch
-  information to the working directory.
+      In bare shelve (when no files are specified, without interactive, include
+      and exclude option), shelving remembers information if the working
+      directory was on newly created branch, in other words working directory
+      was on different branch than its first parent. In this situation
+      unshelving restores branch information to the working directory.
   
-  Each shelved change has a name that makes it easier to find later. The name of
-  a shelved change defaults to being based on the active bookmark, or if there
-  is no active bookmark, the current named branch.  To specify a different name,
-  use "--name".
+      Each shelved change has a name that makes it easier to find later. The
+      name of a shelved change defaults to being based on the active bookmark,
+      or if there is no active bookmark, the current named branch.  To specify a
+      different name, use "--name".
   
-  To see a list of existing shelved changes, use the "--list" option. For each
-  shelved change, this will print its name, age, and description; use "--patch"
-  or "--stat" for more details.
+      To see a list of existing shelved changes, use the "--list" option. For
+      each shelved change, this will print its name, age, and description; use "
+      --patch" or "--stat" for more details.
   
-  To delete specific shelved changes, use "--delete". To delete all shelved
-  changes, use "--cleanup".
+      To delete specific shelved changes, use "--delete". To delete all shelved
+      changes, use "--cleanup".
   
   options ([+] can be repeated):
   
--- a/tests/test-show.t	Thu Oct 24 18:58:58 2024 +0200
+++ b/tests/test-show.t	Fri Oct 25 23:54:24 2024 +0200
@@ -25,25 +25,25 @@
   
   show various repository information
   
-  A requested view of repository data is displayed.
+      A requested view of repository data is displayed.
   
-  If no view is requested, the list of available views is shown and the command
-  aborts.
+      If no view is requested, the list of available views is shown and the
+      command aborts.
   
-  Note:
-     There are no backwards compatibility guarantees for the output of this
-     command. Output may change in any future Mercurial release.
+      Note:
+         There are no backwards compatibility guarantees for the output of this
+         command. Output may change in any future Mercurial release.
   
-     Consumers wanting stable command output should specify a template via
-     "-T/--template".
+         Consumers wanting stable command output should specify a template via
+         "-T/--template".
   
-  List of available views:
+      List of available views:
   
-  bookmarks   bookmarks and their associated changeset
+      bookmarks   bookmarks and their associated changeset
   
-  stack       current line of work
+      stack       current line of work
   
-  work        changesets that aren't finished
+      work        changesets that aren't finished
   
   (use 'hg help -e show' to show help for the show extension)
   
--- a/tests/test-uncommit.t	Thu Oct 24 18:58:58 2024 +0200
+++ b/tests/test-uncommit.t	Fri Oct 25 23:54:24 2024 +0200
@@ -22,12 +22,13 @@
   
   uncommit part or all of a local changeset
   
-  This command undoes the effect of a local commit, returning the affected files
-  to their uncommitted state. This means that files modified or deleted in the
-  changeset will be left unchanged, and so will remain modified in the working
-  directory.
+      This command undoes the effect of a local commit, returning the affected
+      files to their uncommitted state. This means that files modified or
+      deleted in the changeset will be left unchanged, and so will remain
+      modified in the working directory.
   
-  If no files are specified, the commit will be pruned, unless --keep is given.
+      If no files are specified, the commit will be pruned, unless --keep is
+      given.
   
   (use 'hg help -e uncommit' to show help for the uncommit extension)