This patch is autogenerated by a rule in the userland Makefile for
mercurial.  We already patch a handful of help files (via rst.patch), and
change the rst plugin to emit manpages intelligible to Solaris nroff (via
hgmanpage.patch), but docutils is required to actually rebuild the manpages
after those changes are made.  Since we don't yet ship docutils, we have to
create this patch offline and keep a copy of it in the repo.

These changes are Solaris-specific and not appropriate for upstream.

--- mercurial-3.7.1/doc/hg.1.orig	Wed Feb  3 14:00:04 2016
+++ mercurial-3.7.1/doc/hg.1	Thu Feb  4 10:13:50 2016
@@ -3,33 +3,6 @@
 .TH HG 1 "" "" "Mercurial Manual"
 .SH NAME
 hg \- Mercurial source code management system
-.
-.nr rst2man-indent-level 0
-.
-.de1 rstReportMargin
-\\$1 \\n[an-margin]
-level \\n[rst2man-indent-level]
-level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
--
-\\n[rst2man-indent0]
-\\n[rst2man-indent1]
-\\n[rst2man-indent2]
-..
-.de1 INDENT
-.\" .rstReportMargin pre:
-. RS \\$1
-. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
-. nr rst2man-indent-level +1
-.\" .rstReportMargin post:
-..
-.de UNINDENT
-. RE
-.\" indent \\n[an-margin]
-.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
-.nr rst2man-indent-level -1
-.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
-.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
-..
 .SH SYNOPSIS
 .sp
 \fBhg\fP \fIcommand\fP [\fIoption\fP]... [\fIargument\fP]...
@@ -38,12 +11,12 @@
 The \fBhg\fP command provides a command line interface to the Mercurial
 system.
 .SH COMMAND ELEMENTS
-.INDENT 0.0
+.RS 0
 .TP
 .B files...
 .
 indicates one or more filename or relative path filenames; see
-\%File Name Patterns\: for information on pattern matching
+File Name Patterns for information on pattern matching
 .TP
 .B path
 .
@@ -59,9 +32,9 @@
 .
 either the pathname of a local repository or the URI of a remote
 repository.
-.UNINDENT
+.RE
 .SH OPTIONS
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-R,  \-\-repository \ <REPO>
 .
@@ -85,7 +58,7 @@
 .TP
 .BI \-\-config \ <CONFIG[+]>
 .
-set/override config option (use \(aqsection.name=value\(aq)
+set/override config option (use 'section.name=value')
 .TP
 .B \-\-debug
 .
@@ -126,7 +99,7 @@
 .B \-\-hidden
 .
 consider hidden changesets
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SH COMMANDS
@@ -135,9 +108,9 @@
 add the specified files on the next commit:
 .sp
 .nf
-.ft C
+.ft
 hg add [OPTION]... [FILE]...
-.ft P
+.ft
 .fi
 .sp
 Schedule files to be version controlled and added to the
@@ -144,22 +117,22 @@
 repository.
 .sp
 The files will be added to the repository at the next commit. To
-undo an add before that, see \%\fBhg forget\fP\:.
+undo an add before that, see \fBhg forget\fP.
 .sp
 If no names are given, add all files to the repository (except
 files matching \fB.hgignore\fP).
 .sp
 Examples:
-.INDENT 0.0
-.INDENT 3.5
-.INDENT 0.0
+.RS 0
+.RS 3
+.RS 0
 .IP \(bu 2
 .
 New (unknown) files are added
-automatically by \%\fBhg add\fP\::
+automatically by \fBhg add\fP:
 .sp
 .nf
-.ft C
+.ft
 $ ls
 foo.c
 $ hg status
@@ -168,7 +141,7 @@
 adding foo.c
 $ hg status
 A foo.c
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -175,7 +148,7 @@
 Specific files to be added can be specified:
 .sp
 .nf
-.ft C
+.ft
 $ ls
 bar.c  foo.c
 $ hg status
@@ -185,16 +158,16 @@
 $ hg status
 A bar.c
 ? foo.c
-.ft P
+.ft
 .fi
-.UNINDENT
-.UNINDENT
-.UNINDENT
+.RE
+.RE
+.RE
 .sp
 Returns 0 if all files are successfully added.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-I,  \-\-include \ <PATTERN[+]>
 .
@@ -211,7 +184,7 @@
 .B \-n,  \-\-dry\-run
 .
 do not perform actions, just print output
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS addremove
@@ -219,9 +192,9 @@
 add all new files, delete all missing files:
 .sp
 .nf
-.ft C
+.ft
 hg addremove [OPTION]... [FILE]...
-.ft P
+.ft
 .fi
 .sp
 Add all new files and remove all missing files from the
@@ -236,23 +209,23 @@
 be identical) as its parameter. With a parameter greater than 0,
 this compares every removed file with every added file and records
 those similar enough as renames. Detecting renamed files this way
-can be expensive. After using this option, \%\fBhg status \-C\fP\: can be
+can be expensive. After using this option, \fBhg status \-C\fP can be
 used to check which files were identified as moved or renamed. If
 not specified, \-s/\-\-similarity defaults to 100 and only renames of
 identical files are detected.
 .sp
 Examples:
-.INDENT 0.0
-.INDENT 3.5
-.INDENT 0.0
+.RS 0
+.RS 3
+.RS 0
 .IP \(bu 2
 .
 A number of files (bar.c and foo.c) are new,
-while foobar.c has been removed (without using \%\fBhg remove\fP\:)
+while foobar.c has been removed (without using \fBhg remove\fP)
 from the repository:
 .sp
 .nf
-.ft C
+.ft
 $ ls
 bar.c foo.c
 $ hg status
@@ -267,15 +240,15 @@
 A bar.c
 A foo.c
 R foobar.c
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
-A file foobar.c was moved to foo.c without using \%\fBhg rename\fP\:.
+A file foobar.c was moved to foo.c without using \fBhg rename\fP.
 Afterwards, it was edited slightly:
 .sp
 .nf
-.ft C
+.ft
 $ ls
 foo.c
 $ hg status
@@ -289,16 +262,16 @@
 A foo.c
   foobar.c
 R foobar.c
-.ft P
+.ft
 .fi
-.UNINDENT
-.UNINDENT
-.UNINDENT
+.RE
+.RE
+.RE
 .sp
 Returns 0 if all files are successfully added.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-s,  \-\-similarity \ <SIMILARITY>
 .
@@ -319,7 +292,7 @@
 .B \-n,  \-\-dry\-run
 .
 do not perform actions, just print output
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS annotate
@@ -327,9 +300,9 @@
 show changeset information by line for each file:
 .sp
 .nf
-.ft C
+.ft
 hg annotate [\-r REV] [\-f] [\-a] [\-u] [\-d] [\-n] [\-c] [\-l] FILE...
-.ft P
+.ft
 .fi
 .sp
 List changes in files, showing the revision id responsible for
@@ -349,7 +322,7 @@
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-r,  \-\-rev \ <REV>
 .
@@ -361,7 +334,7 @@
 .TP
 .B \-\-no\-follow
 .
-don\(aqt follow copies and renames
+don't follow copies and renames
 .TP
 .B \-a,  \-\-text
 .
@@ -414,23 +387,23 @@
 .BI \-T,  \-\-template \ <TEMPLATE>
 .
 display with template (EXPERIMENTAL)
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
-.INDENT 0.0
-.INDENT 3.5
+.RS 0
+.RS 3
 .sp
 aliases: blame
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .SS archive
 .sp
 create an unversioned archive of a repository revision:
 .sp
 .nf
-.ft C
+.ft
 hg archive [OPTION]... DEST
-.ft P
+.ft
 .fi
 .sp
 By default, the revision used is the parent of the working
@@ -440,15 +413,15 @@
 extension (to override, use \-t/\-\-type).
 .sp
 Examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 create a zip file containing the 1.0 release:
 .sp
 .nf
-.ft C
+.ft
 hg archive \-r 1.0 project\-1.0.zip
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -455,14 +428,14 @@
 create a tarball excluding .hg files:
 .sp
 .nf
-.ft C
+.ft
 hg archive project.tar.gz \-X ".hg*"
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
 Valid types are:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBfiles\fP
 .sp
@@ -487,10 +460,10 @@
 .B \fBzip\fP
 .sp
 zip archive, compressed using deflate
-.UNINDENT
+.RE
 .sp
 The exact name of the destination archive or directory is given
-using a format string; see \%\fBhg help export\fP\: for details.
+using a format string; see \fBhg help export\fP for details.
 .sp
 Each member added to an archive file has a directory prefix
 prepended. Use \-p/\-\-prefix to specify a format string for the
@@ -500,7 +473,7 @@
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-\-no\-decode
 .
@@ -529,7 +502,7 @@
 .BI \-X,  \-\-exclude \ <PATTERN[+]>
 .
 exclude names matching the given patterns
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS backout
@@ -537,9 +510,9 @@
 reverse effect of earlier changeset:
 .sp
 .nf
-.ft C
+.ft
 hg backout [OPTION]... [\-r] REV
-.ft P
+.ft
 .fi
 .sp
 Prepare a new changeset with the effect of REV undone in the
@@ -550,12 +523,12 @@
 is committed automatically (unless \-\-no\-commit is specified).
 .IP Note
 .
-\%\fBhg backout\fP\: cannot be used to fix either an unwanted or
+\fBhg backout\fP cannot be used to fix either an unwanted or
 incorrect merge.
 .RE
 .sp
 Examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 Reverse the effect of the parent of the working directory.
@@ -562,9 +535,9 @@
 This backout will be committed immediately:
 .sp
 .nf
-.ft C
+.ft
 hg backout \-r .
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -571,9 +544,9 @@
 Reverse the effect of previous bad revision 23:
 .sp
 .nf
-.ft C
+.ft
 hg backout \-r 23
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -581,12 +554,12 @@
 leave changes uncommitted:
 .sp
 .nf
-.ft C
+.ft
 hg backout \-r 23 \-\-no\-commit
 hg commit \-m "Backout revision 23"
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
 By default, the pending changeset will have one parent,
 maintaining a linear history. With \-\-merge, the pending
@@ -594,13 +567,13 @@
 working directory and a new child of REV that simply undoes REV.
 .sp
 Before version 1.7, the behavior without \-\-merge was equivalent
-to specifying \-\-merge followed by \%\fBhg update \-\-clean .\fP\: to
+to specifying \-\-merge followed by \fBhg update \-\-clean .\fP to
 cancel the merge and leave the child of REV as a head to be
 merged separately.
 .sp
-See \%\fBhg help dates\fP\: for a list of formats valid for \-d/\-\-date.
+See \fBhg help dates\fP for a list of formats valid for \-d/\-\-date.
 .sp
-See \%\fBhg help revert\fP\: for a way to restore files to the state
+See \fBhg help revert\fP for a way to restore files to the state
 of another revision.
 .sp
 Returns 0 on success, 1 if nothing to backout or there are unresolved
@@ -607,7 +580,7 @@
 files.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-\-merge
 .
@@ -660,7 +633,7 @@
 .BI \-u,  \-\-user \ <USER>
 .
 record the specified user as committer
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS bisect
@@ -668,9 +641,9 @@
 subdivision search of changesets:
 .sp
 .nf
-.ft C
+.ft
 hg bisect [\-gbsr] [\-U] [\-c CMD] [REV]
-.ft P
+.ft
 .fi
 .sp
 This command helps to find changesets which introduce problems. To
@@ -694,16 +667,16 @@
 is bad.
 .sp
 Some examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 start a bisection with known bad revision 34, and good revision 12:
 .sp
 .nf
-.ft C
+.ft
 hg bisect \-\-bad 34
 hg bisect \-\-good 12
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -711,10 +684,10 @@
 bad:
 .sp
 .nf
-.ft C
+.ft
 hg bisect \-\-good
 hg bisect \-\-bad
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -722,10 +695,10 @@
 that revision is not usable because of another issue):
 .sp
 .nf
-.ft C
+.ft
 hg bisect \-\-skip
 hg bisect \-\-skip 23
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -732,9 +705,9 @@
 skip all revisions that do not touch directories \fBfoo\fP or \fBbar\fP:
 .sp
 .nf
-.ft C
-hg bisect \-\-skip "!( file(\(aqpath:foo\(aq) & file(\(aqpath:bar\(aq) )"
-.ft P
+.ft
+hg bisect \-\-skip "!( file('path:foo') & file('path:bar') )"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -741,22 +714,22 @@
 forget the current bisection:
 .sp
 .nf
-.ft C
+.ft
 hg bisect \-\-reset
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
-use \(aqmake && make tests\(aq to automatically find the first broken
+use 'make && make tests' to automatically find the first broken
 revision:
 .sp
 .nf
-.ft C
+.ft
 hg bisect \-\-reset
 hg bisect \-\-bad 34
 hg bisect \-\-good 12
 hg bisect \-\-command "make && make tests"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -764,9 +737,9 @@
 bisection:
 .sp
 .nf
-.ft C
+.ft
 hg log \-r "bisect(pruned)"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -774,9 +747,9 @@
 if running with \-U/\-\-noupdate):
 .sp
 .nf
-.ft C
+.ft
 hg log \-r "bisect(current)"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -783,9 +756,9 @@
 see all changesets that took part in the current bisection:
 .sp
 .nf
-.ft C
+.ft
 hg log \-r "bisect(range)"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -792,18 +765,18 @@
 you can even get a nice graph:
 .sp
 .nf
-.ft C
+.ft
 hg log \-\-graph \-r "bisect(range)"
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
-See \%\fBhg help revsets\fP\: for more about the \fIbisect()\fP keyword.
+See \fBhg help revsets\fP for more about the \fIbisect()\fP keyword.
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-r,  \-\-reset
 .
@@ -832,15 +805,15 @@
 .B \-U,  \-\-noupdate
 .
 do not update to target
-.UNINDENT
+.RE
 .SS bookmarks
 .sp
 create a new bookmark or list existing bookmarks:
 .sp
 .nf
-.ft C
+.ft
 hg bookmarks [OPTIONS]... [NAME]...
-.ft P
+.ft
 .fi
 .sp
 Bookmarks are labels on changesets to help track lines of development.
@@ -847,30 +820,30 @@
 Bookmarks are unversioned and can be moved, renamed and deleted.
 Deleting or moving a bookmark has no effect on the associated changesets.
 .sp
-Creating or updating to a bookmark causes it to be marked as \(aqactive\(aq.
-The active bookmark is indicated with a \(aq*\(aq.
+Creating or updating to a bookmark causes it to be marked as 'active'.
+The active bookmark is indicated with a '*'.
 When a commit is made, the active bookmark will advance to the new commit.
-A plain \%\fBhg update\fP\: will also advance an active bookmark, if possible.
+A plain \fBhg update\fP will also advance an active bookmark, if possible.
 Updating away from a bookmark will cause it to be deactivated.
 .sp
 Bookmarks can be pushed and pulled between repositories (see
-\%\fBhg help push\fP\: and \%\fBhg help pull\fP\:). If a shared bookmark has
-diverged, a new \(aqdivergent bookmark\(aq of the form \%\(aqname@path\:\(aq will
-be created. Using \%\fBhg merge\fP\: will resolve the divergence.
+\fBhg help push\fP and \fBhg help pull\fP). If a shared bookmark has
+diverged, a new 'divergent bookmark' of the form \&'name@path\&' will
+be created. Using \fBhg merge\fP will resolve the divergence.
 .sp
-A bookmark named \(aq@\(aq has the special property that \%\fBhg clone\fP\: will
+A bookmark named '@' has the special property that \fBhg clone\fP will
 check it out by default if it exists.
 .sp
 Examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 create an active bookmark for a new line of development:
 .sp
 .nf
-.ft C
+.ft
 hg book new\-feature
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -877,9 +850,9 @@
 create an inactive bookmark as a place marker:
 .sp
 .nf
-.ft C
+.ft
 hg book \-i reviewed
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -886,9 +859,9 @@
 create an inactive bookmark on another changeset:
 .sp
 .nf
-.ft C
+.ft
 hg book \-r .^ tested
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -895,23 +868,23 @@
 rename bookmark turkey to dinner:
 .sp
 .nf
-.ft C
+.ft
 hg book \-m turkey dinner
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
-move the \(aq@\(aq bookmark from another branch:
+move the '@' bookmark from another branch:
 .sp
 .nf
-.ft C
+.ft
 hg book \-f @
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-f,  \-\-force
 .
@@ -938,20 +911,20 @@
 display with template (EXPERIMENTAL)
 .sp
 aliases: bookmark
-.UNINDENT
+.RE
 .SS branch
 .sp
 set or show the current branch name:
 .sp
 .nf
-.ft C
+.ft
 hg branch [\-fC] [NAME]
-.ft P
+.ft
 .fi
 .IP Note
 .
-Branch names are permanent and global. Use \%\fBhg bookmark\fP\: to create a
-light\-weight bookmark instead. See \%\fBhg help glossary\fP\: for more
+Branch names are permanent and global. Use \fBhg bookmark\fP to create a
+light\-weight bookmark instead. See \fBhg help glossary\fP for more
 information about named branches and bookmarks.
 .RE
 .sp
@@ -958,7 +931,7 @@
 With no argument, show the current branch name. With one argument,
 set the working directory branch name (the branch will not exist
 in the repository until the next commit). Standard practice
-recommends that primary development take place on the \(aqdefault\(aq
+recommends that primary development take place on the 'default'
 branch.
 .sp
 Unless \-f/\-\-force is specified, branch will not let you set a
@@ -968,8 +941,8 @@
 the parent of the working directory, negating a previous branch
 change.
 .sp
-Use the command \%\fBhg update\fP\: to switch to an existing branch. Use
-\%\fBhg commit \-\-close\-branch\fP\: to mark this branch head as closed.
+Use the command \fBhg update\fP to switch to an existing branch. Use
+\fBhg commit \-\-close\-branch\fP to mark this branch head as closed.
 When all heads of a branch are closed, the branch will be
 considered closed.
 .sp
@@ -976,7 +949,7 @@
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-f,  \-\-force
 .
@@ -985,27 +958,27 @@
 .B \-C,  \-\-clean
 .
 reset branch name to parent branch name
-.UNINDENT
+.RE
 .SS branches
 .sp
 list repository named branches:
 .sp
 .nf
-.ft C
+.ft
 hg branches [\-ac]
-.ft P
+.ft
 .fi
 .sp
-List the repository\(aqs named branches, indicating which ones are
+List the repository's named branches, indicating which ones are
 inactive. If \-c/\-\-closed is specified, also list branches which have
-been marked closed (see \%\fBhg commit \-\-close\-branch\fP\:).
+been marked closed (see \fBhg commit \-\-close\-branch\fP).
 .sp
-Use the command \%\fBhg update\fP\: to switch to an existing branch.
+Use the command \fBhg update\fP to switch to an existing branch.
 .sp
 Returns 0.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-a,  \-\-active
 .
@@ -1018,15 +991,15 @@
 .BI \-T,  \-\-template \ <TEMPLATE>
 .
 display with template (EXPERIMENTAL)
-.UNINDENT
+.RE
 .SS bundle
 .sp
 create a changegroup file:
 .sp
 .nf
-.ft C
+.ft
 hg bundle [\-f] [\-t TYPE] [\-a] [\-r REV]... [\-\-base REV]... FILE [DEST]
-.ft P
+.ft
 .fi
 .sp
 Generate a changegroup file collecting changesets to be added
@@ -1055,7 +1028,7 @@
 Returns 0 on success, 1 if no changes found.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-f,  \-\-force
 .
@@ -1092,7 +1065,7 @@
 .B \-\-insecure
 .
 do not verify server certificate (ignoring web.cacerts config)
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS cat
@@ -1100,9 +1073,9 @@
 output the current or given revision of files:
 .sp
 .nf
-.ft C
+.ft
 hg cat [OPTION]... FILE...
-.ft P
+.ft
 .fi
 .sp
 Print the specified files as they were at the given revision. If
@@ -1110,7 +1083,7 @@
 .sp
 Output may be to a file, in which case the name of the file is
 given using a format string. The formatting rules as follows:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fB%%\fP
 .sp
@@ -1122,7 +1095,7 @@
 .TP
 .B \fB%d\fP
 .sp
-dirname of file being printed, or \(aq.\(aq if in repository root
+dirname of file being printed, or '.' if in repository root
 .TP
 .B \fB%p\fP
 .sp
@@ -1147,12 +1120,12 @@
 .B \fB%b\fP
 .sp
 basename of the exporting repository
-.UNINDENT
+.RE
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-o,  \-\-output \ <FORMAT>
 .
@@ -1173,7 +1146,7 @@
 .BI \-X,  \-\-exclude \ <PATTERN[+]>
 .
 exclude names matching the given patterns
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS clone
@@ -1181,9 +1154,9 @@
 make a copy of an existing repository:
 .sp
 .nf
-.ft C
+.ft
 hg clone [OPTION]... SOURCE [DEST]
-.ft P
+.ft
 .fi
 .sp
 Create a copy of an existing repository in a new directory.
@@ -1191,14 +1164,14 @@
 If no destination directory name is specified, it defaults to the
 basename of the source.
 .sp
-The location of the source is added to the new repository\(aqs
-\fB.hg/hgrc\fP file, as the default to be used for future pulls.
+The location of the source is added to the new repository's
+\fB\&.hg/hgrc\fP file, as the default to be used for future pulls.
 .sp
 Only local paths and \fBssh://\fP URLs are supported as
 destinations. For \fBssh://\fP destinations, no working directory or
-\fB.hg/hgrc\fP will be created on the remote side.
+\fB\&.hg/hgrc\fP will be created on the remote side.
 .sp
-If the source repository has a bookmark called \(aq@\(aq set, that
+If the source repository has a bookmark called '@' set, that
 revision will be checked out in the new repository by default.
 .sp
 To check out a particular version, use \-u/\-\-update, or
@@ -1207,7 +1180,7 @@
 To pull only a subset of changesets, specify one or more revisions
 identifiers with \-r/\-\-rev or branches with \-b/\-\-branch. The
 resulting clone will contain only the specified changesets and
-their ancestors. These options (or \(aqclone src#rev dest\(aq) imply
+their ancestors. These options (or 'clone src#rev dest') imply
 \-\-pull, even for local source repositories.
 .IP Note
 .
@@ -1226,9 +1199,9 @@
 directory using full hardlinks with
 .sp
 .nf
-.ft C
+.ft
 $ cp \-al REPO REPOCLONE
-.ft P
+.ft
 .fi
 .sp
 This is the fastest way to clone, but it is not always safe. The
@@ -1240,7 +1213,7 @@
 .sp
 Mercurial will update the working directory to the first applicable
 revision from this list:
-.INDENT 0.0
+.RS 0
 .IP a. 3
 .
 null if \-U or the source repository has no changesets
@@ -1247,7 +1220,7 @@
 .IP b. 3
 .
 if \-u . and the source repository is local, the first parent of
-the source repository\(aqs working directory
+the source repository's working directory
 .IP c. 3
 .
 the changeset specified with \-u (if a branch name, this means the
@@ -1263,7 +1236,7 @@
 the tipmost head specified with the url#branch source syntax
 .IP g. 3
 .
-the revision marked with the \(aq@\(aq bookmark, if present
+the revision marked with the '@' bookmark, if present
 .IP h. 3
 .
 the tipmost head of the default branch
@@ -1270,7 +1243,7 @@
 .IP i. 3
 .
 tip
-.UNINDENT
+.RE
 .sp
 When cloning from servers that support it, Mercurial may fetch
 pre\-generated data from a server\-advertised URL. When this is done,
@@ -1278,18 +1251,18 @@
 once for the bundle fetched from the URL and another for any additional
 data not fetched from this URL. In addition, if an error occurs, the
 repository may be rolled back to a partial clone. This behavior may
-change in future releases. See \%\fBhg help \-e clonebundles\fP\: for more.
+change in future releases. See \fBhg help \-e clonebundles\fP for more.
 .sp
 Examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 clone a remote repository to a new directory named hg/:
 .sp
 .nf
-.ft C
+.ft
 hg clone http://selenic.com/hg
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1296,9 +1269,9 @@
 create a lightweight local clone:
 .sp
 .nf
-.ft C
+.ft
 hg clone project/ project\-feature/
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1305,9 +1278,9 @@
 clone from an absolute path on an ssh server (note double\-slash):
 .sp
 .nf
-.ft C
+.ft
 hg clone ssh://user@server//home/projects/alpha/
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1315,9 +1288,9 @@
 specified version:
 .sp
 .nf
-.ft C
+.ft
 hg clone \-\-uncompressed http://server/repo \-u 1.5
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1324,9 +1297,9 @@
 create a repository without changesets after a particular revision:
 .sp
 .nf
-.ft C
+.ft
 hg clone \-r 04e544 experimental/ good/
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1333,18 +1306,18 @@
 clone (and track) a particular named branch:
 .sp
 .nf
-.ft C
+.ft
 hg clone http://selenic.com/hg#stable
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
-See \%\fBhg help urls\fP\: for details on specifying URLs.
+See \fBhg help urls\fP for details on specifying URLs.
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-U,  \-\-noupdate
 .
@@ -1381,7 +1354,7 @@
 .B \-\-insecure
 .
 do not verify server certificate (ignoring web.cacerts config)
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS commit
@@ -1389,16 +1362,16 @@
 commit the specified files or all outstanding changes:
 .sp
 .nf
-.ft C
+.ft
 hg commit [OPTION]... [FILE]...
-.ft P
+.ft
 .fi
 .sp
 Commit changes to the given files into the repository. Unlike a
 centralized SCM, this operation is a local operation. See
-\%\fBhg push\fP\: for a way to actively distribute your changes.
+\fBhg push\fP for a way to actively distribute your changes.
 .sp
-If a list of files is omitted, all changes reported by \%\fBhg status\fP\:
+If a list of files is omitted, all changes reported by \fBhg status\fP
 will be committed.
 .sp
 If you are committing the result of a merge, do not provide any
@@ -1407,7 +1380,7 @@
 If no commit message is specified, Mercurial starts your
 configured editor where you can enter a message. In case your
 commit fails, you will find a backup of your message in
-\fB.hg/last\-message.txt\fP.
+\fB\&.hg/last\-message.txt\fP.
 .sp
 The \-\-close\-branch flag can be used to mark the current branch
 head closed. When all heads of a branch are closed, the branch
@@ -1415,32 +1388,32 @@
 .sp
 The \-\-amend flag can be used to amend the parent of the
 working directory with a new commit that contains the changes
-in the parent in addition to those currently reported by \%\fBhg status\fP\:,
+in the parent in addition to those currently reported by \fBhg status\fP,
 if there are any. The old commit is stored in a backup bundle in
-\fB.hg/strip\-backup\fP (see \%\fBhg help bundle\fP\: and \%\fBhg help unbundle\fP\:
+\fB\&.hg/strip\-backup\fP (see \fBhg help bundle\fP and \fBhg help unbundle\fP
 on how to restore it).
 .sp
 Message, user and date are taken from the amended commit unless
-specified. When a message isn\(aqt specified on the command line,
+specified. When a message isn't specified on the command line,
 the editor will open with the message of the amended commit.
 .sp
-It is not possible to amend public changesets (see \%\fBhg help phases\fP\:)
+It is not possible to amend public changesets (see \fBhg help phases\fP)
 or changesets that have children.
 .sp
-See \%\fBhg help dates\fP\: for a list of formats valid for \-d/\-\-date.
+See \fBhg help dates\fP for a list of formats valid for \-d/\-\-date.
 .sp
 Returns 0 on success, 1 if nothing changed.
 .sp
 Examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 commit all files ending in .py:
 .sp
 .nf
-.ft C
+.ft
 hg commit \-\-include "set:**.py"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1447,9 +1420,9 @@
 commit all non\-binary files:
 .sp
 .nf
-.ft C
+.ft
 hg commit \-\-exclude "set:binary()"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1456,14 +1429,14 @@
 amend the current commit and set the date to now:
 .sp
 .nf
-.ft C
+.ft
 hg commit \-\-amend \-\-date now
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-A,  \-\-addremove
 .
@@ -1516,23 +1489,23 @@
 .B \-S,  \-\-subrepos
 .
 recurse into subrepositories
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
-.INDENT 0.0
-.INDENT 3.5
+.RS 0
+.RS 3
 .sp
 aliases: ci
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .SS config
 .sp
 show combined config settings from all hgrc files:
 .sp
 .nf
-.ft C
+.ft
 hg config [\-u] [NAME]...
-.ft P
+.ft
 .fi
 .sp
 With no arguments, print names and values of all config items.
@@ -1550,12 +1523,12 @@
 With \-\-debug, the source (filename and line number) is printed
 for each config item.
 .sp
-See \%\fBhg help config\fP\: for more information about config files.
+See \fBhg help config\fP for more information about config files.
 .sp
 Returns 0 on success, 1 if NAME does not exist.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-u,  \-\-untrusted
 .
@@ -1574,15 +1547,15 @@
 edit global config
 .sp
 aliases: showconfig debugconfig
-.UNINDENT
+.RE
 .SS copy
 .sp
 mark files as copied for the next commit:
 .sp
 .nf
-.ft C
+.ft
 hg copy [OPTION]... [SOURCE]... DEST
-.ft P
+.ft
 .fi
 .sp
 Mark dest as having copies of source files. If dest is a
@@ -1594,12 +1567,12 @@
 operation is recorded, but no copying is performed.
 .sp
 This command takes effect with the next commit. To undo a copy
-before that, see \%\fBhg revert\fP\:.
+before that, see \fBhg revert\fP.
 .sp
 Returns 0 on success, 1 if errors are encountered.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-A,  \-\-after
 .
@@ -1620,23 +1593,23 @@
 .B \-n,  \-\-dry\-run
 .
 do not perform actions, just print output
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
-.INDENT 0.0
-.INDENT 3.5
+.RS 0
+.RS 3
 .sp
 aliases: cp
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .SS diff
 .sp
 diff repository (or selected files):
 .sp
 .nf
-.ft C
+.ft
 hg diff [OPTION]... ([\-c REV] | [\-r REV1 [\-r REV2]]) [FILE]...
-.ft P
+.ft
 .fi
 .sp
 Show differences between revisions for the specified files.
@@ -1644,8 +1617,8 @@
 Differences between files are shown using the unified diff format.
 .IP Note
 .
-\%\fBhg diff\fP\: may generate unexpected results for merges, as it will
-default to comparing against the working directory\(aqs first
+\fBhg diff\fP 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.
 .RE
 .sp
@@ -1663,18 +1636,18 @@
 anyway, probably with undesirable results.
 .sp
 Use the \-g/\-\-git option to generate diffs in the git extended diff
-format. For more information, read \%\fBhg help diffs\fP\:.
+format. For more information, read \fBhg help diffs\fP.
 .sp
 Examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 compare a file in the current working directory to its parent:
 .sp
 .nf
-.ft C
+.ft
 hg diff foo.c
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1681,9 +1654,9 @@
 compare two historical versions of a directory, with rename info:
 .sp
 .nf
-.ft C
+.ft
 hg diff \-\-git \-r 1.0:1.2 lib/
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1690,9 +1663,9 @@
 get change stats relative to the last change on some date:
 .sp
 .nf
-.ft C
-hg diff \-\-stat \-r "date(\(aqmay 2\(aq)"
-.ft P
+.ft
+hg diff \-\-stat \-r "date('may 2')"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1699,9 +1672,9 @@
 diff all newly\-added files that contain a keyword:
 .sp
 .nf
-.ft C
+.ft
 hg diff "set:added() and grep(GNU)"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1708,18 +1681,18 @@
 compare a revision and its parents:
 .sp
 .nf
-.ft C
+.ft
 hg diff \-c 9353         # compare against first parent
 hg diff \-r 9353^:9353   # same using revset syntax
 hg diff \-r 9353^2:9353  # compare against the second parent
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-r,  \-\-rev \ <REV[+]>
 .
@@ -1788,7 +1761,7 @@
 .B \-S,  \-\-subrepos
 .
 recurse into subrepositories
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS export
@@ -1796,9 +1769,9 @@
 dump the header and diffs for one or more changesets:
 .sp
 .nf
-.ft C
+.ft
 hg export [OPTION]... [\-o OUTFILESPEC] [\-r] [REV]...
-.ft P
+.ft
 .fi
 .sp
 Print the changeset header and diffs for one or more revisions.
@@ -1809,7 +1782,7 @@
 comment.
 .IP Note
 .
-\%\fBhg export\fP\: may generate unexpected diff output for merge
+\fBhg export\fP may generate unexpected diff output for merge
 changesets, as it will compare the merge changeset against its
 first parent only.
 .RE
@@ -1816,7 +1789,7 @@
 .sp
 Output may be to a file, in which case the name of the file is
 given using a format string. The formatting rules are as follows:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fB%%\fP
 .sp
@@ -1853,7 +1826,7 @@
 .B \fB%r\fP
 .sp
 zero\-padded changeset revision number
-.UNINDENT
+.RE
 .sp
 Without the \-a/\-\-text option, export will avoid generating diffs
 of files it detects as binary. With \-a, export will generate a
@@ -1860,13 +1833,13 @@
 diff anyway, probably with undesirable results.
 .sp
 Use the \-g/\-\-git option to generate diffs in the git extended diff
-format. See \%\fBhg help diffs\fP\: for more information.
+format. See \fBhg help diffs\fP for more information.
 .sp
 With the \-\-switch\-parent option, the diff will be against the
 second parent. It can be useful to review a merge.
 .sp
 Examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 use export and import to transplant a bugfix to the current
@@ -1873,9 +1846,9 @@
 branch:
 .sp
 .nf
-.ft C
+.ft
 hg export \-r 9353 | hg import \-
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1883,9 +1856,9 @@
 rename information:
 .sp
 .nf
-.ft C
+.ft
 hg export \-\-git \-r 123:150 > changes.txt
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1893,16 +1866,16 @@
 descriptive names:
 .sp
 .nf
-.ft C
+.ft
 hg export \-r "outgoing()" \-o "%n\-%m.patch"
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-o,  \-\-output \ <FORMAT>
 .
@@ -1927,7 +1900,7 @@
 .B \-\-nodates
 .
 omit dates from diff headers
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS files
@@ -1935,9 +1908,9 @@
 list tracked files:
 .sp
 .nf
-.ft C
+.ft
 hg files [OPTION]... [PATTERN]...
-.ft P
+.ft
 .fi
 .sp
 Print files under Mercurial control in the working directory or
@@ -1948,15 +1921,15 @@
 of all files under Mercurial control in the working directory.
 .sp
 Examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 list all files under the current directory:
 .sp
 .nf
-.ft C
+.ft
 hg files .
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1963,9 +1936,9 @@
 shows sizes and flags for current revision:
 .sp
 .nf
-.ft C
+.ft
 hg files \-vr .
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1972,9 +1945,9 @@
 list all files named README:
 .sp
 .nf
-.ft C
+.ft
 hg files \-I "**/README"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1981,9 +1954,9 @@
 list all binary files:
 .sp
 .nf
-.ft C
+.ft
 hg files "set:binary()"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1990,9 +1963,9 @@
 find files containing a regular expression:
 .sp
 .nf
-.ft C
-hg files "set:grep(\(aqbob\(aq)"
-.ft P
+.ft
+hg files "set:grep('bob')"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -1999,19 +1972,19 @@
 search tracked file contents with xargs and grep:
 .sp
 .nf
-.ft C
+.ft
 hg files \-0 | xargs \-0 grep foo
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
-See \%\fBhg help patterns\fP\: and \%\fBhg help filesets\fP\: for more information
+See \fBhg help patterns\fP and \fBhg help filesets\fP for more information
 on specifying file patterns.
 .sp
 Returns 0 if a match is found, 1 otherwise.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-r,  \-\-rev \ <REV>
 .
@@ -2036,7 +2009,7 @@
 .B \-S,  \-\-subrepos
 .
 recurse into subrepositories
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS forget
@@ -2044,9 +2017,9 @@
 forget the specified files on the next commit:
 .sp
 .nf
-.ft C
+.ft
 hg forget [OPTION]... FILE...
-.ft P
+.ft
 .fi
 .sp
 Mark the specified files so they will no longer be tracked
@@ -2056,20 +2029,20 @@
 entire project history, and it does not delete them from the
 working directory.
 .sp
-To delete the file from the working directory, see \%\fBhg remove\fP\:.
+To delete the file from the working directory, see \fBhg remove\fP.
 .sp
-To undo a forget before the next commit, see \%\fBhg add\fP\:.
+To undo a forget before the next commit, see \fBhg add\fP.
 .sp
 Examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 forget newly\-added binary files:
 .sp
 .nf
-.ft C
+.ft
 hg forget "set:added() and binary()"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -2076,16 +2049,16 @@
 forget files that would be excluded by .hgignore:
 .sp
 .nf
-.ft C
+.ft
 hg forget "set:hgignore()"
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-I,  \-\-include \ <PATTERN[+]>
 .
@@ -2094,7 +2067,7 @@
 .BI \-X,  \-\-exclude \ <PATTERN[+]>
 .
 exclude names matching the given patterns
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS graft
@@ -2102,15 +2075,15 @@
 copy changes from other branches onto the current branch:
 .sp
 .nf
-.ft C
+.ft
 hg graft [OPTION]... [\-r REV]... REV...
-.ft P
+.ft
 .fi
 .sp
-This command uses Mercurial\(aqs merge logic to copy individual
+This command uses Mercurial's merge logic to copy individual
 changes from other branches without merging branches in the
-history graph. This is sometimes known as \(aqbackporting\(aq or
-\(aqcherry\-picking\(aq. By default, graft will copy user, date, and
+history graph. This is sometimes known as 'backporting' or
+\&'cherry\-picking'. By default, graft will copy user, date, and
 description from the source changesets.
 .sp
 Changesets that are ancestors of the current revision, that have
@@ -2120,9 +2093,9 @@
 of the form:
 .sp
 .nf
-.ft C
+.ft
 (grafted from CHANGESETHASH)
-.ft P
+.ft
 .fi
 .sp
 If \-\-force is specified, revisions will be grafted even if they
@@ -2140,16 +2113,16 @@
 .RE
 .sp
 Examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 copy a single change to the stable branch and edit its description:
 .sp
 .nf
-.ft C
+.ft
 hg update stable
 hg graft \-\-edit 9393
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -2156,9 +2129,9 @@
 graft a range of changesets with one exception, updating dates:
 .sp
 .nf
-.ft C
+.ft
 hg graft \-D "2085::2093 and not 2091"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -2165,9 +2138,9 @@
 continue a graft after resolving conflicts:
 .sp
 .nf
-.ft C
+.ft
 hg graft \-c
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -2174,9 +2147,9 @@
 show the source of a grafted changeset:
 .sp
 .nf
-.ft C
+.ft
 hg log \-\-debug \-r .
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -2183,19 +2156,19 @@
 show revisions sorted by date:
 .sp
 .nf
-.ft C
-hg log \-r \(aqsort(all(), date)\(aq
-.ft P
+.ft
+hg log \-r 'sort(all(), date)'
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
-See \%\fBhg help revisions\fP\: and \%\fBhg help revsets\fP\: for more about
+See \fBhg help revisions\fP and \fBhg help revsets\fP for more about
 specifying revisions.
 .sp
 Returns 0 on successful completion.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-r,  \-\-rev \ <REV[+]>
 .
@@ -2240,7 +2213,7 @@
 .B \-n,  \-\-dry\-run
 .
 do not perform actions, just print output
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS grep
@@ -2248,9 +2221,9 @@
 search for a pattern in specified files and revisions:
 .sp
 .nf
-.ft C
+.ft
 hg grep [OPTION]... PATTERN [FILE]...
-.ft P
+.ft
 .fi
 .sp
 Search revisions of files for a regular expression.
@@ -2269,7 +2242,7 @@
 Returns 0 if a match is found, 1 otherwise.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-0,  \-\-print0
 .
@@ -2318,7 +2291,7 @@
 .BI \-X,  \-\-exclude \ <PATTERN[+]>
 .
 exclude names matching the given patterns
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS heads
@@ -2326,9 +2299,9 @@
 show branch heads:
 .sp
 .nf
-.ft C
+.ft
 hg heads [\-ct] [\-r STARTREV] [REV]...
-.ft P
+.ft
 .fi
 .sp
 With no arguments, show all open branch heads in the repository.
@@ -2338,11 +2311,11 @@
 .sp
 If one or more REVs are given, only open branch heads on the
 branches associated with the specified changesets are shown. This
-means that you can use \%\fBhg heads .\fP\: to see the heads on the
+means that you can use \fBhg heads .\fP to see the heads on the
 currently checked\-out branch.
 .sp
 If \-c/\-\-closed is specified, also show branch heads marked closed
-(see \%\fBhg commit \-\-close\-branch\fP\:).
+(see \fBhg commit \-\-close\-branch\fP).
 .sp
 If STARTREV is specified, only those heads that are descendants of
 STARTREV will be displayed.
@@ -2353,7 +2326,7 @@
 Returns 0 if matching heads are found, 1 if not.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-r,  \-\-rev \ <STARTREV>
 .
@@ -2378,15 +2351,15 @@
 .BI \-T,  \-\-template \ <TEMPLATE>
 .
 display with template
-.UNINDENT
+.RE
 .SS help
 .sp
 show help for a given topic or a help overview:
 .sp
 .nf
-.ft C
+.ft
 hg help [\-ecks] [TOPIC]
-.ft P
+.ft
 .fi
 .sp
 With no arguments, print a list of commands with short help messages.
@@ -2397,7 +2370,7 @@
 Returns 0 if successful.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-e,  \-\-extension
 .
@@ -2414,7 +2387,7 @@
 .BI \-s,  \-\-system \ <VALUE[+]>
 .
 show help for specific platform(s)
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS identify
@@ -2422,9 +2395,9 @@
 identify the working directory or specified revision:
 .sp
 .nf
-.ft C
+.ft
 hg identify [\-nibtB] [\-r REV] [SOURCE]
-.ft P
+.ft
 .fi
 .sp
 Print a summary identifying the repository state at REV using one or
@@ -2439,15 +2412,15 @@
 cause lookup to operate on that repository/bundle.
 .sp
 Examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 generate a build identifier for the working directory:
 .sp
 .nf
-.ft C
+.ft
 hg id \-\-id > build\-id.dat
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -2454,9 +2427,9 @@
 find the revision corresponding to a tag:
 .sp
 .nf
-.ft C
+.ft
 hg id \-n \-r 1.3
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -2463,19 +2436,19 @@
 check the most recent revision of a remote repository:
 .sp
 .nf
-.ft C
+.ft
 hg id \-r tip http://selenic.com/hg/
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
-See \%\fBhg log\fP\: for generating more information about specific revisions,
+See \fBhg log\fP for generating more information about specific revisions,
 including full hash identifiers.
 .sp
 Returns 0 if successful.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-r,  \-\-rev \ <REV>
 .
@@ -2514,15 +2487,15 @@
 do not verify server certificate (ignoring web.cacerts config)
 .sp
 aliases: id
-.UNINDENT
+.RE
 .SS import
 .sp
 import an ordered set of patches:
 .sp
 .nf
-.ft C
+.ft
 hg import [OPTION]... PATCH...
-.ft P
+.ft
 .fi
 .sp
 Import a list of patches and commit them individually (unless
@@ -2547,7 +2520,7 @@
 text/plain body parts before first diff are added to the commit
 message.
 .sp
-If the imported patch was generated by \%\fBhg export\fP\:, user and
+If the imported patch was generated by \fBhg export\fP, user and
 description from patch override values from message headers and
 body. Values given on command line with \-m/\-\-message and \-u/\-\-user
 override these.
@@ -2561,37 +2534,37 @@
 Use \-\-partial to ensure a changeset will be created from the patch
 even if some hunks fail to apply. Hunks that fail to apply will be
 written to a <target\-file>.rej file. Conflicts can then be resolved
-by hand before \%\fBhg commit \-\-amend\fP\: is run to update the created
+by hand before \fBhg commit \-\-amend\fP is run to update the created
 changeset. This flag exists to let people import patches that
 partially apply without losing the associated metadata (author,
 date, description, ...).
 .IP Note
 .
-When no hunks apply cleanly, \%\fBhg import \-\-partial\fP\: will create
+When no hunks apply cleanly, \fBhg import \-\-partial\fP will create
 an empty changeset, importing only the patch metadata.
 .RE
 .sp
 With \-s/\-\-similarity, hg will attempt to discover renames and
-copies in the patch in the same way as \%\fBhg addremove\fP\:.
+copies in the patch in the same way as \fBhg addremove\fP.
 .sp
 It is possible to use external patch programs to perform the patch
 by setting the \fBui.patch\fP configuration option. For the default
 internal tool, the fuzz can also be configured via \fBpatch.fuzz\fP.
-See \%\fBhg help config\fP\: for more information about configuration
+See \fBhg help config\fP for more information about configuration
 files and how to use these options.
 .sp
-See \%\fBhg help dates\fP\: for a list of formats valid for \-d/\-\-date.
+See \fBhg help dates\fP for a list of formats valid for \-d/\-\-date.
 .sp
 Examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 import a traditional patch from a website and detect renames:
 .sp
 .nf
-.ft C
+.ft
 hg import \-s 80 http://example.com/bugfix.patch
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -2598,9 +2571,9 @@
 import a changeset from an hgweb server:
 .sp
 .nf
-.ft C
+.ft
 hg import http://www.selenic.com/hg/rev/5ca8c111e9aa
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -2607,9 +2580,9 @@
 import all the patches in an Unix\-style mbox:
 .sp
 .nf
-.ft C
+.ft
 hg import incoming\-patches.mbox
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -2617,35 +2590,35 @@
 possible):
 .sp
 .nf
-.ft C
+.ft
 hg import \-\-exact proposed\-fix.patch
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
 use an external tool to apply a patch which is too fuzzy for
 the default internal tool.
-.INDENT 2.0
-.INDENT 3.5
+.RS 2
+.RS 3
 .sp
 hg import \-\-config ui.patch="patch \-\-merge" fuzzy.patch
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .IP \(bu 2
 .
 change the default fuzzing from 2 to a less strict 7
-.INDENT 2.0
-.INDENT 3.5
+.RS 2
+.RS 3
 .sp
 hg import \-\-config ui.fuzz=7 fuzz.patch
-.UNINDENT
-.UNINDENT
-.UNINDENT
+.RE
+.RE
+.RE
 .sp
 Returns 0 on success, 1 on partial success (see \-\-partial).
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-p,  \-\-strip \ <NUM>
 .
@@ -2665,7 +2638,7 @@
 .TP
 .B \-\-no\-commit
 .
-don\(aqt commit, just update the working directory
+don't commit, just update the working directory
 .TP
 .B \-\-bypass
 .
@@ -2708,15 +2681,15 @@
 guess renamed files by similarity (0<=s<=100)
 .sp
 aliases: patch
-.UNINDENT
+.RE
 .SS incoming
 .sp
 show new changesets found in source:
 .sp
 .nf
-.ft C
+.ft
 hg incoming [\-p] [\-n] [\-M] [\-f] [\-r REV]... [\-\-bundle FILENAME] [SOURCE]
-.ft P
+.ft
 .fi
 .sp
 Show new changesets found in the specified path/URL or the default
@@ -2730,17 +2703,17 @@
 status is also displayed for each bookmark like below:
 .sp
 .nf
-.ft C
+.ft
 BM1               01234567890a added
 BM2               1234567890ab advanced
 BM3               234567890abc diverged
 BM4               34567890abcd changed
-.ft P
+.ft
 .fi
 .sp
 The action taken locally when pulling depends on the
 status of each bookmark:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBadded\fP
 .sp
@@ -2757,7 +2730,7 @@
 .B \fBchanged\fP
 .sp
 result depends on remote changesets
-.UNINDENT
+.RE
 .sp
 From the point of view of pulling behavior, bookmark
 existing only in the remote repository are treated as \fBadded\fP,
@@ -2767,15 +2740,15 @@
 changesets twice if the incoming is followed by a pull.
 .sp
 Examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 show incoming changes with patches and full description:
 .sp
 .nf
-.ft C
+.ft
 hg incoming \-vp
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -2782,10 +2755,10 @@
 show incoming changes excluding merges, store a bundle:
 .sp
 .nf
-.ft C
+.ft
 hg in \-vpM \-\-bundle incoming.hg
 hg pull incoming.hg
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -2792,16 +2765,16 @@
 briefly list changes inside a bundle:
 .sp
 .nf
-.ft C
+.ft
 hg in changes.hg \-T "{desc|firstline}\en"
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
 Returns 0 if there are incoming changes, 1 otherwise.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-f,  \-\-force
 .
@@ -2874,23 +2847,23 @@
 .B \-S,  \-\-subrepos
 .
 recurse into subrepositories
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
-.INDENT 0.0
-.INDENT 3.5
+.RS 0
+.RS 3
 .sp
 aliases: in
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .SS init
 .sp
 create a new repository in the given directory:
 .sp
 .nf
-.ft C
+.ft
 hg init [\-e CMD] [\-\-remotecmd CMD] [DEST]
-.ft P
+.ft
 .fi
 .sp
 Initialize a new repository in the given directory. If the given
@@ -2899,12 +2872,12 @@
 If no directory is given, the current directory is used.
 .sp
 It is possible to specify an \fBssh://\fP URL as the destination.
-See \%\fBhg help urls\fP\: for more information.
+See \fBhg help urls\fP for more information.
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-e,  \-\-ssh \ <CMD>
 .
@@ -2917,15 +2890,15 @@
 .B \-\-insecure
 .
 do not verify server certificate (ignoring web.cacerts config)
-.UNINDENT
+.RE
 .SS locate
 .sp
 locate files matching specific patterns (DEPRECATED):
 .sp
 .nf
-.ft C
+.ft
 hg locate [OPTION]... [PATTERN]...
-.ft P
+.ft
 .fi
 .sp
 Print files under Mercurial control in the working directory whose
@@ -2943,12 +2916,12 @@
 will avoid the problem of "xargs" treating single filenames that
 contain whitespace as multiple filenames.
 .sp
-See \%\fBhg help files\fP\: for a more versatile command.
+See \fBhg help files\fP for a more versatile command.
 .sp
 Returns 0 if a match is found, 1 otherwise.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-r,  \-\-rev \ <REV>
 .
@@ -2969,7 +2942,7 @@
 .BI \-X,  \-\-exclude \ <PATTERN[+]>
 .
 exclude names matching the given patterns
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS log
@@ -2977,9 +2950,9 @@
 show revision history of entire repository or files:
 .sp
 .nf
-.ft C
+.ft
 hg log [OPTION]... [FILE]
-.ft P
+.ft
 .fi
 .sp
 Print the revision history of the specified files or the entire
@@ -3001,12 +2974,12 @@
 .sp
 With \-\-graph the revisions are shown as an ASCII art DAG with the most
 recent changeset at the top.
-\(aqo\(aq is a changeset, \(aq@\(aq is a working directory parent, \(aqx\(aq is obsolete,
-and \(aq+\(aq represents a fork where the changeset from the lines below is a
-parent of the \(aqo\(aq merge on the same line.
+\&'o' is a changeset, '@' is a working directory parent, 'x' is obsolete,
+and '+' represents a fork where the changeset from the lines below is a
+parent of the 'o' merge on the same line.
 .IP Note
 .
-\%\fBhg log \-\-patch\fP\: may generate unexpected diff output for merge
+\fBhg log \-\-patch\fP may generate unexpected diff output for merge
 changesets, as it will only compare the merge changeset against
 its first parent. Also, only files different from BOTH parents
 will appear in files:.
@@ -3013,21 +2986,21 @@
 .RE
 .IP Note
 .
-For performance reasons, \%\fBhg log FILE\fP\: may omit duplicate changes
+For performance reasons, \fBhg log FILE\fP may omit duplicate changes
 made on branches and will not show removals or mode changes. To
 see all such changes, use the \-\-removed switch.
 .RE
 .sp
 Some examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 changesets with full descriptions and file lists:
 .sp
 .nf
-.ft C
+.ft
 hg log \-v
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -3034,9 +3007,9 @@
 changesets ancestral to the working directory:
 .sp
 .nf
-.ft C
+.ft
 hg log \-f
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -3043,9 +3016,9 @@
 last 10 commits on the current branch:
 .sp
 .nf
-.ft C
+.ft
 hg log \-l 10 \-b .
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -3052,9 +3025,9 @@
 changesets showing all modifications of a file, including removals:
 .sp
 .nf
-.ft C
+.ft
 hg log \-\-removed file.c
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -3061,9 +3034,9 @@
 all changesets that touch a directory, with diffs, excluding merges:
 .sp
 .nf
-.ft C
+.ft
 hg log \-Mp lib/
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -3070,9 +3043,9 @@
 all revision numbers that match a keyword:
 .sp
 .nf
-.ft C
+.ft
 hg log \-k bug \-\-template "{rev}\en"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -3079,9 +3052,9 @@
 the full hash identifier of the working directory parent:
 .sp
 .nf
-.ft C
+.ft
 hg log \-r . \-\-template "{node}\en"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -3088,9 +3061,9 @@
 list available log templates:
 .sp
 .nf
-.ft C
+.ft
 hg log \-T list
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -3097,9 +3070,9 @@
 check if a given changeset is included in a tagged release:
 .sp
 .nf
-.ft C
+.ft
 hg log \-r "a21ccf and ancestor(1.9)"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -3106,9 +3079,9 @@
 find all changesets by some user in a date range:
 .sp
 .nf
-.ft C
+.ft
 hg log \-k alice \-d "may 2008 to jul 2008"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -3115,24 +3088,24 @@
 summary of all changesets after the last tag:
 .sp
 .nf
-.ft C
+.ft
 hg log \-r "last(tagged())::" \-\-template "{desc|firstline}\en"
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
-See \%\fBhg help dates\fP\: for a list of formats valid for \-d/\-\-date.
+See \fBhg help dates\fP for a list of formats valid for \-d/\-\-date.
 .sp
-See \%\fBhg help revisions\fP\: and \%\fBhg help revsets\fP\: for more about
+See \fBhg help revisions\fP and \fBhg help revsets\fP for more about
 specifying and ordering revisions.
 .sp
-See \%\fBhg help templates\fP\: for more about pre\-packaged styles and
+See \fBhg help templates\fP for more about pre\-packaged styles and
 specifying custom templates.
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-f,  \-\-follow
 .
@@ -3221,23 +3194,23 @@
 .BI \-X,  \-\-exclude \ <PATTERN[+]>
 .
 exclude names matching the given patterns
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
-.INDENT 0.0
-.INDENT 3.5
+.RS 0
+.RS 3
 .sp
 aliases: history
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .SS manifest
 .sp
 output the current or given revision of the project manifest:
 .sp
 .nf
-.ft C
+.ft
 hg manifest [\-r REV]
-.ft P
+.ft
 .fi
 .sp
 Print a list of version controlled files for the given revision.
@@ -3253,7 +3226,7 @@
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-r,  \-\-rev \ <REV>
 .
@@ -3266,15 +3239,15 @@
 .BI \-T,  \-\-template \ <TEMPLATE>
 .
 display with template (EXPERIMENTAL)
-.UNINDENT
+.RE
 .SS merge
 .sp
 merge another revision into working directory:
 .sp
 .nf
-.ft C
+.ft
 hg merge [\-P] [\-f] [[\-r] REV]
-.ft P
+.ft
 .fi
 .sp
 The current working directory is updated with all changes made in
@@ -3287,16 +3260,16 @@
 .sp
 \fB\-\-tool\fP can be used to specify the merge tool used for file
 merges. It overrides the HGMERGE environment variable and your
-configuration files. See \%\fBhg help merge\-tools\fP\: for options.
+configuration files. See \fBhg help merge\-tools\fP for options.
 .sp
-If no revision is specified, the working directory\(aqs parent is a
+If no revision is specified, the working directory's parent is a
 head revision, and the current branch contains exactly one other
 head, the other head is merged with by default. Otherwise, an
 explicit revision with which to merge with must be provided.
 .sp
-See \%\fBhg help resolve\fP\: for information on handling file conflicts.
+See \fBhg help resolve\fP for information on handling file conflicts.
 .sp
-To undo an uncommitted merge, use \%\fBhg update \-\-clean .\fP\: which
+To undo an uncommitted merge, use \fBhg update \-\-clean .\fP which
 will check out a clean copy of the original merge parent, losing
 all changes.
 .sp
@@ -3303,7 +3276,7 @@
 Returns 0 on success, 1 if there are unresolved files.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-f,  \-\-force
 .
@@ -3320,15 +3293,15 @@
 .BI \-t,  \-\-tool \ <VALUE>
 .
 specify merge tool
-.UNINDENT
+.RE
 .SS outgoing
 .sp
 show changesets not found in the destination:
 .sp
 .nf
-.ft C
+.ft
 hg outgoing [\-M] [\-p] [\-n] [\-f] [\-r REV]... [DEST]
-.ft P
+.ft
 .fi
 .sp
 Show changesets not found in the specified destination repository
@@ -3342,18 +3315,18 @@
 status is also displayed for each bookmark like below:
 .sp
 .nf
-.ft C
+.ft
 BM1               01234567890a added
 BM2                            deleted
 BM3               234567890abc advanced
 BM4               34567890abcd diverged
 BM5               4567890abcde changed
-.ft P
+.ft
 .fi
 .sp
 The action taken when pushing depends on the
 status of each bookmark:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBadded\fP
 .sp
@@ -3374,7 +3347,7 @@
 .B \fBchanged\fP
 .sp
 push with \fB\-B\fP will update it
-.UNINDENT
+.RE
 .sp
 From the point of view of pushing behavior, bookmarks
 existing only in the remote repository are treated as
@@ -3383,7 +3356,7 @@
 Returns 0 if there are outgoing changes, 1 otherwise.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-f,  \-\-force
 .
@@ -3452,26 +3425,26 @@
 .B \-S,  \-\-subrepos
 .
 recurse into subrepositories
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
-.INDENT 0.0
-.INDENT 3.5
+.RS 0
+.RS 3
 .sp
 aliases: out
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .SS parents
 .sp
 show the parents of the working directory or revision (DEPRECATED):
 .sp
 .nf
-.ft C
+.ft
 hg parents [\-r REV] [FILE]
-.ft P
+.ft
 .fi
 .sp
-Print the working directory\(aqs parent revisions. If a revision is
+Print the working directory's parent revisions. If a revision is
 given via \-r/\-\-rev, the parent of that revision will be printed.
 If a file argument is given, the revision in which the file was
 last changed (before the working directory revision or the
@@ -3480,20 +3453,20 @@
 This command is equivalent to:
 .sp
 .nf
-.ft C
+.ft
 hg log \-r "p1()+p2()" or
 hg log \-r "p1(REV)+p2(REV)" or
 hg log \-r "max(::p1() and file(FILE))+max(::p2() and file(FILE))" or
 hg log \-r "max(::p1(REV) and file(FILE))+max(::p2(REV) and file(FILE))"
-.ft P
+.ft
 .fi
 .sp
-See \%\fBhg summary\fP\: and \%\fBhg help revsets\fP\: for related information.
+See \fBhg summary\fP and \fBhg help revsets\fP for related information.
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-r,  \-\-rev \ <REV>
 .
@@ -3506,15 +3479,15 @@
 .BI \-T,  \-\-template \ <TEMPLATE>
 .
 display with template
-.UNINDENT
+.RE
 .SS paths
 .sp
 show aliases for remote repositories:
 .sp
 .nf
-.ft C
+.ft
 hg paths [NAME]
-.ft P
+.ft
 .fi
 .sp
 Show definition of symbolic path name NAME. If no name is given,
@@ -3537,29 +3510,29 @@
 .IP Note
 .
 \fBdefault\fP and \fBdefault\-push\fP apply to all inbound (e.g.
-\%\fBhg incoming\fP\:) and outbound (e.g. \%\fBhg outgoing\fP\:, \%\fBhg email\fP\:
-and \%\fBhg bundle\fP\:) operations.
+\fBhg incoming\fP) and outbound (e.g. \fBhg outgoing\fP, \fBhg email\fP
+and \fBhg bundle\fP) operations.
 .RE
 .sp
-See \%\fBhg help urls\fP\: for more information.
+See \fBhg help urls\fP for more information.
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-T,  \-\-template \ <TEMPLATE>
 .
 display with template (EXPERIMENTAL)
-.UNINDENT
+.RE
 .SS phase
 .sp
 set or show the current phase name:
 .sp
 .nf
-.ft C
+.ft
 hg phase [\-p|\-d|\-s] [\-f] [\-r] [REV...]
-.ft P
+.ft
 .fi
 .sp
 With no argument, show the phase name of the current revision(s).
@@ -3567,21 +3540,21 @@
 With one of \-p/\-\-public, \-d/\-\-draft or \-s/\-\-secret, change the
 phase value of the specified revisions.
 .sp
-Unless \-f/\-\-force is specified, \%\fBhg phase\fP\: won\(aqt move changeset from a
+Unless \-f/\-\-force is specified, \fBhg phase\fP won't move changeset from a
 lower phase to an higher phase. Phases are ordered as follows:
 .sp
 .nf
-.ft C
+.ft
 public < draft < secret
-.ft P
+.ft
 .fi
 .sp
 Returns 0 on success, 1 if some phases could not be changed.
 .sp
-(For more information about the phases concept, see \%\fBhg help phases\fP\:.)
+(For more information about the phases concept, see \fBhg help phases\fP.)
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-p,  \-\-public
 .
@@ -3602,7 +3575,7 @@
 .BI \-r,  \-\-rev \ <REV[+]>
 .
 target revision
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS pull
@@ -3610,9 +3583,9 @@
 pull changes from the specified source:
 .sp
 .nf
-.ft C
+.ft
 hg pull [\-u] [\-f] [\-r REV]... [\-e CMD] [\-\-remotecmd CMD] [SOURCE]
-.ft P
+.ft
 .fi
 .sp
 Pull changes from a remote repository to a local one.
@@ -3622,18 +3595,18 @@
 \-R is specified). By default, this does not update the copy of the
 project in the working directory.
 .sp
-Use \%\fBhg incoming\fP\: if you want to see what would have been added
+Use \fBhg incoming\fP if you want to see what would have been added
 by a pull at the time you issued this command. If you then decide
-to add those changes to the repository, you should use \%\fBhg pull
-\-r X\fP\: where \fBX\fP is the last changeset listed by \%\fBhg incoming\fP\:.
+to add those changes to the repository, you should use \fBhg pull
+\-r X\fP where \fBX\fP is the last changeset listed by \fBhg incoming\fP.
 .sp
-If SOURCE is omitted, the \(aqdefault\(aq path will be used.
-See \%\fBhg help urls\fP\: for more information.
+If SOURCE is omitted, the 'default' path will be used.
+See \fBhg help urls\fP for more information.
 .sp
 Returns 0 on success, 1 if an update had unresolved files.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-u,  \-\-update
 .
@@ -3666,7 +3639,7 @@
 .B \-\-insecure
 .
 do not verify server certificate (ignoring web.cacerts config)
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS push
@@ -3674,9 +3647,9 @@
 push changes to the specified destination:
 .sp
 .nf
-.ft C
+.ft
 hg push [\-f] [\-r REV]... [\-e CMD] [\-\-remotecmd CMD] [DEST]
-.ft P
+.ft
 .fi
 .sp
 Push changesets from the local repository to the specified
@@ -3707,13 +3680,13 @@
 ancestors, and the bookmark will be pushed to the remote
 repository.
 .sp
-Please see \%\fBhg help urls\fP\: for important details about \fBssh://\fP
+Please see \fBhg help urls\fP for important details about \fBssh://\fP
 URLs. If DESTINATION is omitted, a default path will be used.
 .sp
 Returns 0 if push was successful, 1 if nothing to push.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-f,  \-\-force
 .
@@ -3746,7 +3719,7 @@
 .B \-\-insecure
 .
 do not verify server certificate (ignoring web.cacerts config)
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS recover
@@ -3754,9 +3727,9 @@
 roll back an interrupted transaction:
 .sp
 .nf
-.ft C
+.ft
 hg recover
-.ft P
+.ft
 .fi
 .sp
 Recover from an interrupted commit or pull.
@@ -3771,16 +3744,16 @@
 remove the specified files on the next commit:
 .sp
 .nf
-.ft C
+.ft
 hg remove [OPTION]... FILE...
-.ft P
+.ft
 .fi
 .sp
 Schedule the indicated files for removal from the current branch.
 .sp
 This command schedules the files to be removed at the next commit.
-To undo a remove before that, see \%\fBhg revert\fP\:. To undo added
-files, see \%\fBhg forget\fP\:.
+To undo a remove before that, see \fBhg revert\fP. To undo added
+files, see \fBhg forget\fP.
 .sp
 \-A/\-\-after can be used to remove only files that have already
 been deleted, \-f/\-\-force can be used to force deletion, and \-Af
@@ -3790,7 +3763,7 @@
 The following table details the behavior of remove for different
 file states (columns) and option combinations (rows). The file
 states are Added [A], Clean [C], Modified [M] and Missing [!]
-(as reported by \%\fBhg status\fP\:). The actions are Warn, Remove
+(as reported by \fBhg status\fP). The actions are Warn, Remove
 (from branch) and Delete (from disk):
 .TS
 center;
@@ -3859,7 +3832,7 @@
 .TE
 .IP Note
 .
-\%\fBhg remove\fP\: never deletes files in Added [A] state from the
+\fBhg remove\fP never deletes files in Added [A] state from the
 working directory, not even if \fB\-\-force\fP is specified.
 .RE
 .sp
@@ -3866,7 +3839,7 @@
 Returns 0 on success, 1 if any warnings encountered.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-A,  \-\-after
 .
@@ -3887,23 +3860,23 @@
 .BI \-X,  \-\-exclude \ <PATTERN[+]>
 .
 exclude names matching the given patterns
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
-.INDENT 0.0
-.INDENT 3.5
+.RS 0
+.RS 3
 .sp
 aliases: rm
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .SS rename
 .sp
 rename files; equivalent of copy + remove:
 .sp
 .nf
-.ft C
+.ft
 hg rename [OPTION]... SOURCE... DEST
-.ft P
+.ft
 .fi
 .sp
 Mark dest as copies of sources; mark sources for deletion. If dest
@@ -3915,12 +3888,12 @@
 operation is recorded, but no copying is performed.
 .sp
 This command takes effect at the next commit. To undo a rename
-before that, see \%\fBhg revert\fP\:.
+before that, see \fBhg revert\fP.
 .sp
 Returns 0 on success, 1 if errors are encountered.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-A,  \-\-after
 .
@@ -3941,23 +3914,23 @@
 .B \-n,  \-\-dry\-run
 .
 do not perform actions, just print output
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
-.INDENT 0.0
-.INDENT 3.5
+.RS 0
+.RS 3
 .sp
 aliases: move mv
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .SS resolve
 .sp
 redo merges or set/view the merge status of files:
 .sp
 .nf
-.ft C
+.ft
 hg resolve [OPTION]... [FILE]...
-.ft P
+.ft
 .fi
 .sp
 Merges with unresolved conflicts are often the result of
@@ -3964,15 +3937,15 @@
 non\-interactive merging using the \fBinternal:merge\fP configuration
 setting, or a command\-line merge tool like \fBdiff3\fP. The resolve
 command is used to manage the files involved in a merge, after
-\%\fBhg merge\fP\: has been run, and before \%\fBhg commit\fP\: is run (i.e. the
-working directory must have two parents). See \%\fBhg help
-merge\-tools\fP\: for information on configuring merge tools.
+\fBhg merge\fP has been run, and before \fBhg commit\fP is run (i.e. the
+working directory must have two parents). See \fBhg help
+merge\-tools\fP for information on configuring merge tools.
 .sp
 The resolve command can be used in the following ways:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
-\%\fBhg resolve [\-\-tool TOOL] FILE...\fP\:: attempt to re\-merge the specified
+\fBhg resolve [\-\-tool TOOL] FILE...\fP: attempt to re\-merge the specified
 files, discarding any previous merge attempts. Re\-merging is not
 performed for files already marked as resolved. Use \fB\-\-all/\-a\fP
 to select all unresolved files. \fB\-\-tool\fP can be used to specify
@@ -3981,22 +3954,22 @@
 contents are saved with a \fB.orig\fP suffix.
 .IP \(bu 2
 .
-\%\fBhg resolve \-m [FILE]\fP\:: mark a file as having been resolved
+\fBhg resolve \-m [FILE]\fP: mark a file as having been resolved
 (e.g. after having manually fixed\-up the files). The default is
 to mark all unresolved files.
 .IP \(bu 2
 .
-\%\fBhg resolve \-u [FILE]...\fP\:: mark a file as unresolved. The
+\fBhg resolve \-u [FILE]...\fP: mark a file as unresolved. The
 default is to mark all resolved files.
 .IP \(bu 2
 .
-\%\fBhg resolve \-l\fP\:: list files which had or still have conflicts.
+\fBhg resolve \-l\fP: list files which had or still have conflicts.
 In the printed list, \fBU\fP = unresolved and \fBR\fP = resolved.
-.UNINDENT
+.RE
 .IP Note
 .
 Mercurial will not let you commit files with unresolved merge
-conflicts. You must use \%\fBhg resolve \-m ...\fP\: before you can
+conflicts. You must use \fBhg resolve \-m ...\fP before you can
 commit after a conflicting merge.
 .RE
 .sp
@@ -4003,7 +3976,7 @@
 Returns 0 on success, 1 if any files fail a resolve attempt.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-a,  \-\-all
 .
@@ -4040,7 +4013,7 @@
 .BI \-T,  \-\-template \ <TEMPLATE>
 .
 display with template (EXPERIMENTAL)
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS revert
@@ -4048,15 +4021,15 @@
 restore files to their checkout state:
 .sp
 .nf
-.ft C
+.ft
 hg revert [OPTION]... [\-r REV] [NAME]...
-.ft P
+.ft
 .fi
 .IP Note
 .
-To check out earlier revisions, you should use \%\fBhg update REV\fP\:.
+To check out earlier revisions, you should use \fBhg update REV\fP.
 To cancel an uncommitted merge (and lose your changes),
-use \%\fBhg update \-\-clean .\fP\:.
+use \fBhg update \-\-clean .\fP.
 .RE
 .sp
 With no revision specified, revert the specified files or directories
@@ -4070,21 +4043,21 @@
 directories to their states as of a specific revision. Because
 revert does not change the working directory parents, this will
 cause these files to appear modified. This can be helpful to "back
-out" some or all of an earlier change. See \%\fBhg backout\fP\: for a
+out" some or all of an earlier change. See \fBhg backout\fP for a
 related method.
 .sp
 Modified files are saved with a .orig suffix before reverting.
 To disable these backups, use \-\-no\-backup.
 .sp
-See \%\fBhg help dates\fP\: for a list of formats valid for \-d/\-\-date.
+See \fBhg help dates\fP for a list of formats valid for \-d/\-\-date.
 .sp
-See \%\fBhg help backout\fP\: for a way to reverse the effect of an
+See \fBhg help backout\fP for a way to reverse the effect of an
 earlier changeset.
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-a,  \-\-all
 .
@@ -4117,7 +4090,7 @@
 .B \-n,  \-\-dry\-run
 .
 do not perform actions, just print output
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS rollback
@@ -4125,12 +4098,12 @@
 roll back the last transaction (DANGEROUS) (DEPRECATED):
 .sp
 .nf
-.ft C
+.ft
 hg rollback
-.ft P
+.ft
 .fi
 .sp
-Please use \%\fBhg commit \-\-amend\fP\: instead of rollback to correct
+Please use \fBhg commit \-\-amend\fP instead of rollback to correct
 mistakes in the last commit.
 .sp
 This command should be used with care. There is only one level of
@@ -4145,7 +4118,7 @@
 .sp
 For example, the following commands are transactional, and their
 effects can be rolled back:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 commit
@@ -4161,10 +4134,10 @@
 .IP \(bu 2
 .
 unbundle
-.UNINDENT
+.RE
 .sp
 To avoid permanent data loss, rollback will refuse to rollback a
-commit transaction if it isn\(aqt checked out. Use \-\-force to
+commit transaction if it isn't checked out. Use \-\-force to
 override this protection.
 .sp
 This command is not intended for use on public repositories. Once
@@ -4177,7 +4150,7 @@
 Returns 0 on success, 1 if no rollback data is available.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-n,  \-\-dry\-run
 .
@@ -4186,15 +4159,15 @@
 .B \-f,  \-\-force
 .
 ignore safety measures
-.UNINDENT
+.RE
 .SS root
 .sp
 print the root (top) of the current working directory:
 .sp
 .nf
-.ft C
+.ft
 hg root
-.ft P
+.ft
 .fi
 .sp
 Print the root directory of the current repository.
@@ -4205,9 +4178,9 @@
 start stand\-alone webserver:
 .sp
 .nf
-.ft C
+.ft
 hg serve [OPTION]...
-.ft P
+.ft
 .fi
 .sp
 Start a local HTTP repository browser and pull server. You can use
@@ -4232,7 +4205,7 @@
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-A,  \-\-accesslog \ <FILE>
 .
@@ -4301,15 +4274,15 @@
 .BI \-\-certificate \ <FILE>
 .
 SSL certificate file
-.UNINDENT
+.RE
 .SS status
 .sp
 show changed files in the working directory:
 .sp
 .nf
-.ft C
+.ft
 hg status [OPTION]... [FILE]...
-.ft P
+.ft
 .fi
 .sp
 Show status of files in the repository. If names are given, only
@@ -4323,7 +4296,7 @@
 unless explicitly requested with \-u/\-\-unknown or \-i/\-\-ignored.
 .IP Note
 .
-\%\fBhg status\fP\: may appear to disagree with diff if permissions have
+\fBhg status\fP 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.
@@ -4337,7 +4310,7 @@
 The codes used to show the status of files are:
 .sp
 .nf
-.ft C
+.ft
 M = modified
 A = added
 R = removed
@@ -4346,11 +4319,11 @@
 ? = not tracked
 I = ignored
   = origin of the previous file (with \-\-copies)
-.ft P
+.ft
 .fi
 .sp
 Examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 show changes in the working directory relative to a
@@ -4357,19 +4330,19 @@
 changeset:
 .sp
 .nf
-.ft C
+.ft
 hg status \-\-rev 9353
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
 show changes in the working directory relative to the
-current directory (see \%\fBhg help patterns\fP\: for more information):
+current directory (see \fBhg help patterns\fP for more information):
 .sp
 .nf
-.ft C
+.ft
 hg status re:
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -4376,9 +4349,9 @@
 show all changes including copies in an existing changeset:
 .sp
 .nf
-.ft C
+.ft
 hg status \-\-copies \-\-change 9353
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -4385,16 +4358,16 @@
 get a NUL separated list of added files, suitable for xargs:
 .sp
 .nf
-.ft C
+.ft
 hg status \-an0
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-A,  \-\-all
 .
@@ -4463,23 +4436,23 @@
 .BI \-T,  \-\-template \ <TEMPLATE>
 .
 display with template (EXPERIMENTAL)
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
-.INDENT 0.0
-.INDENT 3.5
+.RS 0
+.RS 3
 .sp
 aliases: st
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .SS summary
 .sp
 summarize working directory state:
 .sp
 .nf
-.ft C
+.ft
 hg summary [\-\-remote]
-.ft P
+.ft
 .fi
 .sp
 This generates a brief summary of the working directory state,
@@ -4491,7 +4464,7 @@
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-\-remote
 .
@@ -4498,15 +4471,15 @@
 check for push and pull
 .sp
 aliases: sum
-.UNINDENT
+.RE
 .SS tag
 .sp
 add one or more tags for the current or given revision:
 .sp
 .nf
-.ft C
+.ft
 hg tag [\-f] [\-l] [\-m TEXT] [\-d DATE] [\-u USER] [\-r REV] NAME...
-.ft P
+.ft
 .fi
 .sp
 Name a particular revision using <name>.
@@ -4527,11 +4500,11 @@
 repositories).
 .sp
 Tag commits are usually made at the head of a branch. If the parent
-of the working directory is not a branch head, \%\fBhg tag\fP\: aborts; use
+of the working directory is not a branch head, \fBhg tag\fP aborts; use
 \-f/\-\-force to force the tag commit to be based on a non\-head
 changeset.
 .sp
-See \%\fBhg help dates\fP\: for a list of formats valid for \-d/\-\-date.
+See \fBhg help dates\fP for a list of formats valid for \-d/\-\-date.
 .sp
 Since tag names have priority over branch names during revision
 lookup, using an existing branch name as a tag name is discouraged.
@@ -4539,7 +4512,7 @@
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-f,  \-\-force
 .
@@ -4572,15 +4545,15 @@
 .BI \-u,  \-\-user \ <USER>
 .
 record the specified user as committer
-.UNINDENT
+.RE
 .SS tags
 .sp
 list repository tags:
 .sp
 .nf
-.ft C
+.ft
 hg tags
-.ft P
+.ft
 .fi
 .sp
 This lists both regular and local tags. When the \-v/\-\-verbose
@@ -4590,20 +4563,20 @@
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-T,  \-\-template \ <TEMPLATE>
 .
 display with template (EXPERIMENTAL)
-.UNINDENT
+.RE
 .SS tip
 .sp
 show the tip revision (DEPRECATED):
 .sp
 .nf
-.ft C
+.ft
 hg tip [\-p] [\-g]
-.ft P
+.ft
 .fi
 .sp
 The tip revision (usually just called the tip) is the changeset
@@ -4615,12 +4588,12 @@
 that repository becomes the current tip. The "tip" tag is special
 and cannot be renamed or assigned to a different changeset.
 .sp
-This command is deprecated, please use \%\fBhg heads\fP\: instead.
+This command is deprecated, please use \fBhg heads\fP instead.
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-p,  \-\-patch
 .
@@ -4637,15 +4610,15 @@
 .BI \-T,  \-\-template \ <TEMPLATE>
 .
 display with template
-.UNINDENT
+.RE
 .SS unbundle
 .sp
 apply one or more changegroup files:
 .sp
 .nf
-.ft C
+.ft
 hg unbundle [\-u] FILE...
-.ft P
+.ft
 .fi
 .sp
 Apply one or more compressed changegroup files generated by the
@@ -4654,32 +4627,32 @@
 Returns 0 on success, 1 if an update has unresolved files.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-u,  \-\-update
 .
 update to new branch head if changesets were unbundled
-.UNINDENT
+.RE
 .SS update
 .sp
 update working directory (or switch revisions):
 .sp
 .nf
-.ft C
+.ft
 hg update [\-c] [\-C] [\-d DATE] [[\-r] REV]
-.ft P
+.ft
 .fi
 .sp
-Update the repository\(aqs working directory to the specified
+Update the repository's working directory to the specified
 changeset. If no changeset is specified, update to the tip of the
-current named branch and move the active bookmark (see \%\fBhg help
-bookmarks\fP\:).
+current named branch and move the active bookmark (see \fBhg help
+bookmarks\fP).
 .sp
-Update sets the working directory\(aqs parent revision to the specified
-changeset (see \%\fBhg help parents\fP\:).
+Update sets the working directory's parent revision to the specified
+changeset (see \fBhg help parents\fP).
 .sp
 If the changeset is not a descendant or ancestor of the working
-directory\(aqs parent, the update is aborted. With the \-c/\-\-check
+directory's parent, the update is aborted. With the \-c/\-\-check
 option, the working directory is checked for uncommitted changes; if
 none are found, the working directory is updated to the specified
 changeset.
@@ -4686,12 +4659,12 @@
 .sp
 The following rules apply when the working directory contains
 uncommitted changes:
-.INDENT 0.0
+.RS 0
 .IP 1. 3
 .
 If neither \-c/\-\-check nor \-C/\-\-clean is specified, and if
 the requested changeset is an ancestor or descendant of
-the working directory\(aqs parent, the uncommitted changes
+the working directory's parent, the uncommitted changes
 are merged into the requested changeset and the merged
 result is left uncommitted. If the requested changeset is
 not an ancestor or descendant (that is, it is on another
@@ -4705,23 +4678,23 @@
 .
 With the \-C/\-\-clean option, uncommitted changes are discarded and
 the working directory is updated to the requested changeset.
-.UNINDENT
+.RE
 .sp
 To cancel an uncommitted merge (and lose your changes), use
-\%\fBhg update \-\-clean .\fP\:.
+\fBhg update \-\-clean .\fP.
 .sp
 Use null as the changeset to remove the working directory (like
-\%\fBhg clone \-U\fP\:).
+\fBhg clone \-U\fP).
 .sp
 If you want to revert just one file to an older revision, use
-\%\fBhg revert [\-r REV] NAME\fP\:.
+\fBhg revert [\-r REV] NAME\fP.
 .sp
-See \%\fBhg help dates\fP\: for a list of formats valid for \-d/\-\-date.
+See \fBhg help dates\fP for a list of formats valid for \-d/\-\-date.
 .sp
 Returns 0 on success, 1 if there are unresolved files.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-C,  \-\-clean
 .
@@ -4744,25 +4717,25 @@
 specify merge tool
 .sp
 aliases: up checkout co
-.UNINDENT
+.RE
 .SS verify
 .sp
 verify the integrity of the repository:
 .sp
 .nf
-.ft C
+.ft
 hg verify
-.ft P
+.ft
 .fi
 .sp
 Verify the integrity of the current repository.
 .sp
-This will perform an extensive check of the repository\(aqs
+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.
 .sp
-Please see \%https://mercurial\-scm.org/wiki/RepositoryCorruption\:
+Please see https://mercurial\-scm.org/wiki/RepositoryCorruption
 for more information about recovery from corruption of the
 repository.
 .sp
@@ -4772,9 +4745,9 @@
 output version and copyright information:
 .sp
 .nf
-.ft C
+.ft
 hg version
-.ft P
+.ft
 .fi
 .sp
 output version and copyright information
@@ -4781,7 +4754,7 @@
 .SH DATE FORMATS
 .sp
 Some commands allow the user to specify a date, e.g.:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 backout, commit, import, tag: Specify the commit date.
@@ -4788,10 +4761,10 @@
 .IP \(bu 2
 .
 log, revert, update: Select revision(s) by date.
-.UNINDENT
+.RE
 .sp
 Many date formats are valid. Here are some examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 \fBWed Dec 6 13:18:29 2006\fP (local timezone assumed)
@@ -4840,14 +4813,14 @@
 .IP \(bu 2
 .
 \fBnow\fP \- right now
-.UNINDENT
+.RE
 .sp
-Lastly, there is Mercurial\(aqs internal format:
-.INDENT 0.0
+Lastly, there is Mercurial's internal format:
+.RS 0
 .IP \(bu 2
 .
 \fB1165411109 0\fP (Wed Dec 6 13:18:29 2006 UTC)
-.UNINDENT
+.RE
 .sp
 This is the internal representation format for dates. The first number
 is the number of seconds since the epoch (1970\-01\-01 00:00 UTC). The
@@ -4855,7 +4828,7 @@
 (negative if the timezone is east of UTC).
 .sp
 The log command also accepts date ranges:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 \fB<DATE\fP \- at or before a given date/time
@@ -4868,16 +4841,16 @@
 .IP \(bu 2
 .
 \fB\-DAYS\fP \- within a given number of days of today
-.UNINDENT
+.RE
 .SH DIFF FORMATS
 .sp
-Mercurial\(aqs default format for showing changes between two versions of
+Mercurial's default format for showing changes between two versions of
 a file is compatible with the unified format of GNU diff, which can be
 used by GNU patch and many other standard tools.
 .sp
 While this standard format is often enough, it does not encode the
 following information:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 executable status and other permission bits
@@ -4890,7 +4863,7 @@
 .IP \(bu 2
 .
 creation or deletion of empty files
-.UNINDENT
+.RE
 .sp
 Mercurial also supports the extended diff format from the git VCS
 which addresses these limitations. The git diff format is not produced
@@ -4898,26 +4871,26 @@
 format.
 .sp
 This means that when generating diffs from a Mercurial repository
-(e.g. with \%\fBhg export\fP\:), you should be careful about things like file
+(e.g. with \fBhg export\fP), you should be careful about things like file
 copies and renames or other things mentioned above, because when
 applying a standard diff to a different repository, this extra
-information is lost. Mercurial\(aqs internal operations (like push and
+information is lost. Mercurial's internal operations (like push and
 pull) are not affected by this, because they use an internal binary
 format for communicating changes.
 .sp
 To make Mercurial produce the git extended diff format, use the \-\-git
-option available for many commands, or set \(aqgit = True\(aq in the [diff]
+option available for many commands, or set 'git = True' in the [diff]
 section of your configuration file. You do not need to set this option
 when importing diffs in this format or using them in the mq extension.
 .SH ENVIRONMENT VARIABLES
-.INDENT 0.0
+.RS 0
 .TP
 .B HG
 .
-Path to the \(aqhg\(aq executable, automatically passed when running
+Path to the 'hg' executable, automatically passed when running
 hooks, extensions or external tools. If unset or empty, this is
-the hg executable\(aqs name if it\(aqs frozen, or an executable named
-\(aqhg\(aq (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on
+the hg executable's name if it's frozen, or an executable named
+\&'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on
 Windows) is searched.
 .TP
 .B HGEDITOR
@@ -4935,9 +4908,9 @@
 .TP
 .B HGENCODINGMODE
 .
-This sets Mercurial\(aqs behavior for handling unknown characters
+This sets Mercurial's behavior for handling unknown characters
 while transcoding user input. The default is "strict", which
-causes Mercurial to abort if it can\(aqt map a character. Other
+causes Mercurial to abort if it can't map a character. Other
 settings include "replace", which replaces unknown characters, and
 "ignore", which drops them. This setting can be overridden with
 the \-\-encodingmode command\-line option.
@@ -4944,7 +4917,7 @@
 .TP
 .B HGENCODINGAMBIGUOUS
 .
-This sets Mercurial\(aqs behavior for handling characters with
+This sets Mercurial's behavior for handling characters with
 "ambiguous" widths like accented Latin characters with East Asian
 fonts. By default, Mercurial assumes ambiguous characters are
 narrow, set this variable to "wide" if such characters cause
@@ -4966,19 +4939,19 @@
 the .hg/hgrc from the current repository is read.
 .sp
 For each element in HGRCPATH:
-.INDENT 7.0
+.RS 7
 .IP \(bu 2
 .
-if it\(aqs a directory, all files ending with .rc are added
+if it's a directory, all files ending with .rc are added
 .IP \(bu 2
 .
 otherwise, the file itself will be added
-.UNINDENT
+.RE
 .TP
 .B HGPLAIN
 .
 When set, this disables any configuration settings that might
-change Mercurial\(aqs default output. This includes encoding,
+change Mercurial's default output. This includes encoding,
 defaults, verbose mode, debug mode, quiet mode, tracebacks, and
 localization. This can be useful when scripting against Mercurial
 in the face of existing user configuration.
@@ -4990,11 +4963,11 @@
 .
 This is a comma\-separated list of features to preserve when
 HGPLAIN is enabled. Currently the following values are supported:
-.INDENT 7.0
+.RS 7
 .TP
 .B \fBalias\fP
 .sp
-Don\(aqt remove aliases.
+Don't remove aliases.
 .TP
 .B \fBi18n\fP
 .sp
@@ -5002,8 +4975,8 @@
 .TP
 .B \fBrevsetalias\fP
 .sp
-Don\(aqt remove revset aliases.
-.UNINDENT
+Don't remove revset aliases.
+.RE
 .sp
 Setting HGPLAINEXCEPT to anything (even an empty string) will
 enable plain mode.
@@ -5012,7 +4985,7 @@
 .
 This is the string used as the author of a commit. If not set,
 available values will be considered in this order:
-.INDENT 7.0
+.RS 7
 .IP \(bu 2
 .
 HGUSER (deprecated)
@@ -5028,7 +5001,7 @@
 .IP \(bu 2
 .
 LOGNAME (with \fB@hostname\fP appended)
-.UNINDENT
+.RE
 .sp
 (deprecated, use configuration file)
 .TP
@@ -5051,13 +5024,13 @@
 editor it uses is determined by looking at the environment
 variables HGEDITOR, VISUAL and EDITOR, in that order. The first
 non\-empty one is chosen. If all of them are empty, the editor
-defaults to \(aqvi\(aq.
+defaults to 'vi'.
 .TP
 .B PYTHONPATH
 .
 This is used by Python to find imported modules and may need to be
 set appropriately if this Mercurial is not installed system\-wide.
-.UNINDENT
+.RE
 .SH USING ADDITIONAL FEATURES
 .sp
 Mercurial has the ability to add new features through the use of
@@ -5070,22 +5043,22 @@
 like this:
 .sp
 .nf
-.ft C
+.ft
 [extensions]
 foo =
-.ft P
+.ft
 .fi
 .sp
 You may also specify the full path to an extension:
 .sp
 .nf
-.ft C
+.ft
 [extensions]
 myfeature = ~/.hgext/myfeature.py
-.ft P
+.ft
 .fi
 .sp
-See \%\fBhg help config\fP\: for more information on configuration files.
+See \fBhg help config\fP for more information on configuration files.
 .sp
 Extensions are not loaded by default for a variety of reasons:
 they can increase startup overhead; they may be meant for advanced
@@ -5099,19 +5072,19 @@
 broader scope, prepend its path with !:
 .sp
 .nf
-.ft C
+.ft
 [extensions]
 # disabling extension bar residing in /path/to/extension/bar.py
 bar = !/path/to/extension/bar.py
 # ditto, but no path was supplied for extension baz
 baz = !
-.ft P
+.ft
 .fi
 .sp
 disabled extensions:
-.INDENT 0.0
-.INDENT 3.5
-.INDENT 0.0
+.RS 0
+.RS 3
+.RS 0
 .TP
 .B acl
 .
@@ -5244,9 +5217,9 @@
 .B zeroconf
 .
 discover and advertise repositories on the local network
-.UNINDENT
-.UNINDENT
-.UNINDENT
+.RE
+.RE
+.RE
 .SH SPECIFYING FILE SETS
 .sp
 Mercurial supports a functional language for selecting a set of
@@ -5253,7 +5226,7 @@
 files.
 .sp
 Like other file patterns, this pattern type is indicated by a prefix,
-\(aqset:\(aq. The language supports a number of predicates which are joined
+\&'set:'. The language supports a number of predicates which are joined
 by infix operators. Parenthesis can be used for grouping.
 .sp
 Identifiers such as filenames or patterns must be quoted with single
@@ -5264,18 +5237,18 @@
 .sp
 Special characters can be used in quoted identifiers by escaping them,
 e.g., \fB\en\fP is interpreted as a newline. To prevent them from being
-interpreted, strings can be prefixed with \fBr\fP, e.g. \fBr\(aq...\(aq\fP.
+interpreted, strings can be prefixed with \fBr\fP, e.g. \fBr'...'\fP.
 .sp
 There is a single prefix operator:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBnot x\fP
 .sp
 Files not in x. Short form is \fB! x\fP.
-.UNINDENT
+.RE
 .sp
 These are the supported infix operators:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBx and y\fP
 .sp
@@ -5289,14 +5262,14 @@
 .B \fBx \- y\fP
 .sp
 Files in x but not in y.
-.UNINDENT
+.RE
 .sp
 The following predicates are supported:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBadded()\fP
 .sp
-File that is added according to \%\fBhg status\fP\:.
+File that is added according to \fBhg status\fP.
 .TP
 .B \fBbinary()\fP
 .sp
@@ -5304,7 +5277,7 @@
 .TP
 .B \fBclean()\fP
 .sp
-File that is clean according to \%\fBhg status\fP\:.
+File that is clean according to \fBhg status\fP.
 .TP
 .B \fBcopied()\fP
 .sp
@@ -5340,34 +5313,34 @@
 .TP
 .B \fBignored()\fP
 .sp
-File that is ignored according to \%\fBhg status\fP\:. These files will only be
+File that is ignored according to \fBhg status\fP. These files will only be
 considered if this predicate is used.
 .TP
 .B \fBmissing()\fP
 .sp
-File that is missing according to \%\fBhg status\fP\:.
+File that is missing according to \fBhg status\fP.
 .TP
 .B \fBmodified()\fP
 .sp
-File that is modified according to \%\fBhg status\fP\:.
+File that is modified according to \fBhg status\fP.
 .TP
 .B \fBportable()\fP
 .sp
-File that has a portable name. (This doesn\(aqt include filenames with case
+File that has a portable name. (This doesn't include filenames with case
 collisions.)
 .TP
 .B \fBremoved()\fP
 .sp
-File that is removed according to \%\fBhg status\fP\:.
+File that is removed according to \fBhg status\fP.
 .TP
 .B \fBresolved()\fP
 .sp
-File that is marked resolved according to \%\fBhg resolve \-l\fP\:.
+File that is marked resolved according to \fBhg resolve \-l\fP.
 .TP
 .B \fBsize(expression)\fP
 .sp
 File size matches the given expression. Examples:
-.INDENT 7.0
+.RS 7
 .IP \(bu 2
 .
 1k (files from 1024 to 2047 bytes)
@@ -5380,7 +5353,7 @@
 .IP \(bu 2
 .
 4k \- 1MB (files from 4096 bytes to 1048576 bytes)
-.UNINDENT
+.RE
 .TP
 .B \fBsubrepo([pattern])\fP
 .sp
@@ -5392,24 +5365,24 @@
 .TP
 .B \fBunknown()\fP
 .sp
-File that is unknown according to \%\fBhg status\fP\:. These files will only be
+File that is unknown according to \fBhg status\fP. These files will only be
 considered if this predicate is used.
 .TP
 .B \fBunresolved()\fP
 .sp
-File that is marked unresolved according to \%\fBhg resolve \-l\fP\:.
-.UNINDENT
+File that is marked unresolved according to \fBhg resolve \-l\fP.
+.RE
 .sp
 Some sample queries:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 Show status of files that appear to be binary in the working directory:
 .sp
 .nf
-.ft C
+.ft
 hg status \-A "set:binary()"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -5416,9 +5389,9 @@
 Forget files that are in .hgignore but are already tracked:
 .sp
 .nf
-.ft C
+.ft
 hg forget "set:hgignore() and not ignored()"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -5425,9 +5398,9 @@
 Find text files that contain a string:
 .sp
 .nf
-.ft C
+.ft
 hg files "set:grep(magic) and not binary()"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -5434,9 +5407,9 @@
 Find C files in a non\-standard encoding:
 .sp
 .nf
-.ft C
-hg files "set:**.c and not encoding(\(aqUTF\-8\(aq)"
-.ft P
+.ft
+hg files "set:**.c and not encoding('UTF\-8')"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -5443,9 +5416,9 @@
 Revert copies of large binary files:
 .sp
 .nf
-.ft C
-hg revert "set:copied() and binary() and size(\(aq>1M\(aq)"
-.ft P
+.ft
+hg revert "set:copied() and binary() and size('>1M')"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -5452,15 +5425,15 @@
 Remove files listed in foo.lst that contain the letter a or b:
 .sp
 .nf
-.ft C
-hg remove "set: \(aqlistfile:foo.lst\(aq and (**a* or **b*)"
-.ft P
+.ft
+hg remove "set: 'listfile:foo.lst' and (**a* or **b*)"
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
-See also \%\fBhg help patterns\fP\:.
+See also \fBhg help patterns\fP.
 .SH GLOSSARY
-.INDENT 0.0
+.RS 0
 .TP
 .B Ancestor
 .
@@ -5468,7 +5441,7 @@
 changesets from a given changeset. More precisely, the ancestors
 of a changeset can be defined by two properties: a parent of a
 changeset is an ancestor, and a parent of an ancestor is an
-ancestor. See also: \(aqDescendant\(aq.
+ancestor. See also: 'Descendant'.
 .TP
 .B Bookmark
 .
@@ -5475,7 +5448,7 @@
 Bookmarks are pointers to certain commits that move when
 committing. They are similar to tags in that it is possible to use
 bookmark names in all places where Mercurial expects a changeset
-ID, e.g., with \%\fBhg update\fP\:. Unlike tags, bookmarks move along
+ID, e.g., with \fBhg update\fP. Unlike tags, bookmarks move along
 when you make a commit.
 .sp
 Bookmarks can be renamed, copied and deleted. Bookmarks are local,
@@ -5487,9 +5460,9 @@
 .
 (Noun) A child changeset that has been created from a parent that
 is not a head. These are known as topological branches, see
-\(aqBranch, topological\(aq. If a topological branch is named, it becomes
+\&'Branch, topological'. If a topological branch is named, it becomes
 a named branch. If a topological branch is not named, it becomes
-an anonymous branch. See \(aqBranch, anonymous\(aq and \(aqBranch, named\(aq.
+an anonymous branch. See 'Branch, anonymous' and 'Branch, named'.
 .sp
 Branches may be created when changes are pulled from or pushed to
 a remote repository, since new heads may be created by these
@@ -5504,7 +5477,7 @@
 (Verb) The action of creating a child changeset which results in
 its parent having more than one child.
 .sp
-Example: "I\(aqm going to branch at X."
+Example: "I'm going to branch at X."
 .TP
 .B Branch, anonymous
 .
@@ -5523,19 +5496,19 @@
 .TP
 .B Branch head
 .
-See \(aqHead, branch\(aq.
+See 'Head, branch'.
 .TP
 .B Branch, inactive
 .
 If a named branch has no topological heads, it is considered to be
 inactive. As an example, a feature branch becomes inactive when it
-is merged into the default branch. The \%\fBhg branches\fP\: command
+is merged into the default branch. The \fBhg branches\fP command
 shows inactive branches by default, though they can be hidden with
-\%\fBhg branches \-\-active\fP\:.
+\fBhg branches \-\-active\fP.
 .sp
 NOTE: this concept is deprecated because it is too implicit.
-Branches should now be explicitly closed using \%\fBhg commit
-\-\-close\-branch\fP\: when they are no longer needed.
+Branches should now be explicitly closed using \fBhg commit
+\-\-close\-branch\fP when they are no longer needed.
 .TP
 .B Branch, named
 .
@@ -5542,8 +5515,8 @@
 A collection of changesets which have the same branch name. By
 default, children of a changeset in a named branch belong to the
 same named branch. A child can be explicitly assigned to a
-different branch. See \%\fBhg help branch\fP\:, \%\fBhg help branches\fP\: and
-\%\fBhg commit \-\-close\-branch\fP\: for more information on managing
+different branch. See \fBhg help branch\fP, \fBhg help branches\fP and
+\fBhg commit \-\-close\-branch\fP for more information on managing
 branches.
 .sp
 Named branches can be thought of as a kind of namespace, dividing
@@ -5556,7 +5529,7 @@
 .TP
 .B Branch tip
 .
-See \(aqTip, branch\(aq.
+See 'Tip, branch'.
 .TP
 .B Branch, topological
 .
@@ -5606,24 +5579,24 @@
 revision. This use should probably be avoided where possible, as
 changeset is much more appropriate than checkout in this context.
 .sp
-Example: "I\(aqm using checkout X."
+Example: "I'm using checkout X."
 .sp
 (Verb) Updating the working directory to a specific changeset. See
-\%\fBhg help update\fP\:.
+\fBhg help update\fP.
 .sp
-Example: "I\(aqm going to check out changeset X."
+Example: "I'm going to check out changeset X."
 .TP
 .B Child changeset
 .
-See \(aqChangeset, child\(aq.
+See 'Changeset, child'.
 .TP
 .B Close changeset
 .
-See \(aqHead, closed branch\(aq.
+See 'Head, closed branch'.
 .TP
 .B Closed branch
 .
-See \(aqBranch, closed\(aq.
+See 'Branch, closed'.
 .TP
 .B Clone
 .
@@ -5632,13 +5605,13 @@
 .sp
 Example: "Is your clone up to date?"
 .sp
-(Verb) The process of creating a clone, using \%\fBhg clone\fP\:.
+(Verb) The process of creating a clone, using \fBhg clone\fP.
 .sp
-Example: "I\(aqm going to clone the repository."
+Example: "I'm going to clone the repository."
 .TP
 .B Closed branch head
 .
-See \(aqHead, closed branch\(aq.
+See 'Head, closed branch'.
 .TP
 .B Commit
 .
@@ -5663,7 +5636,7 @@
 system (DVCS) can be described as a directed acyclic graph (DAG),
 consisting of nodes and edges, where nodes correspond to
 changesets and edges imply a parent \-> child relation. This graph
-can be visualized by graphical tools such as \%\fBhg log \-\-graph\fP\:. In
+can be visualized by graphical tools such as \fBhg log \-\-graph\fP. In
 Mercurial, the DAG is limited by the requirement for children to
 have at most two parents.
 .TP
@@ -5673,7 +5646,7 @@
 .TP
 .B Default branch
 .
-See \(aqBranch, default\(aq.
+See 'Branch, default'.
 .TP
 .B Descendant
 .
@@ -5681,7 +5654,7 @@
 from a given changeset. More precisely, the descendants of a
 changeset can be defined by two properties: the child of a
 changeset is a descendant, and the child of a descendant is a
-descendant. See also: \(aqAncestor\(aq.
+descendant. See also: 'Ancestor'.
 .TP
 .B Diff
 .
@@ -5706,7 +5679,7 @@
 Mercurial, that will be recorded in the next commit. The working
 directory initially corresponds to the snapshot at an existing
 changeset, known as the parent of the working directory. See
-\(aqParent, working directory\(aq. The state may be modified by changes
+\&'Parent, working directory'. The state may be modified by changes
 to the files introduced manually or by a merge. The repository
 metadata exists in the .hg directory inside the working directory.
 .TP
@@ -5714,7 +5687,7 @@
 .
 Changesets in the draft phase have not been shared with publishing
 repositories and may thus be safely changed by history\-modifying
-extensions. See \%\fBhg help phases\fP\:.
+extensions. See \fBhg help phases\fP.
 .TP
 .B Experimental
 .
@@ -5722,13 +5695,13 @@
 .TP
 .B Graph
 .
-See DAG and \%\fBhg log \-\-graph\fP\:.
+See DAG and \fBhg log \-\-graph\fP.
 .TP
 .B Head
 .
-The term \(aqhead\(aq may be used to refer to both a branch head or a
-repository head, depending on the context. See \(aqHead, branch\(aq and
-\(aqHead, repository\(aq for specific definitions.
+The term 'head' may be used to refer to both a branch head or a
+repository head, depending on the context. See 'Head, branch' and
+\&'Head, repository' for specific definitions.
 .sp
 Heads are where development generally takes place and are the
 usual targets for update and merge operations.
@@ -5740,9 +5713,9 @@
 .B Head, closed branch
 .
 A changeset that marks a head as no longer interesting. The closed
-head is no longer listed by \%\fBhg heads\fP\:. A branch is considered
+head is no longer listed by \fBhg heads\fP. A branch is considered
 closed when all its heads are closed and consequently is not
-listed by \%\fBhg branches\fP\:.
+listed by \fBhg branches\fP.
 .sp
 Closed heads can be re\-opened by committing new changeset as the
 child of the changeset that marks a head as closed.
@@ -5771,11 +5744,11 @@
 .TP
 .B Immutable history
 .
-See \(aqHistory, immutable\(aq.
+See 'History, immutable'.
 .TP
 .B Merge changeset
 .
-See \(aqChangeset, merge\(aq.
+See 'Changeset, merge'.
 .TP
 .B Manifest
 .
@@ -5792,7 +5765,7 @@
 .TP
 .B Named branch
 .
-See \(aqBranch, named\(aq.
+See 'Branch, named'.
 .TP
 .B Null changeset
 .
@@ -5799,30 +5772,30 @@
 The empty changeset. It is the parent state of newly\-initialized
 repositories and repositories with no checked out revision. It is
 thus the parent of root changesets and the effective ancestor when
-merging unrelated changesets. Can be specified by the alias \(aqnull\(aq
-or by the changeset ID \(aq000000000000\(aq.
+merging unrelated changesets. Can be specified by the alias 'null'
+or by the changeset ID '000000000000'.
 .TP
 .B Parent
 .
-See \(aqChangeset, parent\(aq.
+See 'Changeset, parent'.
 .TP
 .B Parent changeset
 .
-See \(aqChangeset, parent\(aq.
+See 'Changeset, parent'.
 .TP
 .B Parent, working directory
 .
 The working directory parent reflects a virtual revision which is
 the child of the changeset (or two changesets with an uncommitted
-merge) shown by \%\fBhg parents\fP\:. This is changed with
-\%\fBhg update\fP\:. Other commands to see the working directory parent
-are \%\fBhg summary\fP\: and \%\fBhg id\fP\:. Can be specified by the alias ".".
+merge) shown by \fBhg parents\fP. This is changed with
+\fBhg update\fP. Other commands to see the working directory parent
+are \fBhg summary\fP and \fBhg id\fP. Can be specified by the alias ".".
 .TP
 .B Patch
 .
 (Noun) The product of a diff operation.
 .sp
-Example: "I\(aqve sent you my patch."
+Example: "I've sent you my patch."
 .sp
 (Verb) The process of using a patch file to transform one
 changeset into another.
@@ -5832,13 +5805,13 @@
 .B Phase
 .
 A per\-changeset state tracking how the changeset has been or
-should be shared. See \%\fBhg help phases\fP\:.
+should be shared. See \fBhg help phases\fP.
 .TP
 .B Public
 .
 Changesets in the public phase have been shared with publishing
-repositories and are therefore considered immutable. See \%\fBhg help
-phases\fP\:.
+repositories and are therefore considered immutable. See \fBhg help
+phases\fP.
 .TP
 .B Pull
 .
@@ -5846,7 +5819,7 @@
 not in the local repository are brought into the local
 repository. Note that this operation without special arguments
 only updates the repository, it does not update the files in the
-working directory. See \%\fBhg help pull\fP\:.
+working directory. See \fBhg help pull\fP.
 .TP
 .B Push
 .
@@ -5854,7 +5827,7 @@
 not in a remote repository are sent to the remote repository. Note
 that this operation only adds changesets which have been committed
 locally to the remote repository. Uncommitted changes are not
-sent. See \%\fBhg help push\fP\:.
+sent. See \fBhg help push\fP.
 .TP
 .B Repository
 .
@@ -5867,13 +5840,13 @@
 .TP
 .B Repository head
 .
-See \(aqHead, repository\(aq.
+See 'Head, repository'.
 .TP
 .B Revision
 .
 A state of the repository at some point in time. Earlier revisions
-can be updated to by using \%\fBhg update\fP\:.  See also \(aqRevision
-number\(aq; See also \(aqChangeset\(aq.
+can be updated to by using \fBhg update\fP.  See also 'Revision
+number'; See also 'Changeset'.
 .TP
 .B Revision number
 .
@@ -5882,7 +5855,7 @@
 to a repository, starting with revision number 0. Note that the
 revision number may be different in each clone of a repository. To
 identify changesets uniquely between different clones, see
-\(aqChangeset id\(aq.
+\&'Changeset id'.
 .TP
 .B Revlog
 .
@@ -5893,7 +5866,7 @@
 .TP
 .B Rewriting history
 .
-See \(aqHistory, rewriting\(aq.
+See 'History, rewriting'.
 .TP
 .B Root
 .
@@ -5903,13 +5876,13 @@
 .B Secret
 .
 Changesets in the secret phase may not be shared via push, pull,
-or clone. See \%\fBhg help phases\fP\:.
+or clone. See \fBhg help phases\fP.
 .TP
 .B Tag
 .
 An alternative name given to a changeset. Tags can be used in all
 places where Mercurial expects a changeset ID, e.g., with
-\%\fBhg update\fP\:. The creation of a tag is stored in the history and
+\fBhg update\fP. The creation of a tag is stored in the history and
 will thus automatically be shared with other using push and pull.
 .TP
 .B Tip
@@ -5921,7 +5894,7 @@
 .
 The head of a given branch with the highest revision number. When
 a branch name is used as a revision identifier, it refers to the
-branch tip. See also \(aqBranch, head\(aq. Note that because revision
+branch tip. See also 'Branch, head'. Note that because revision
 numbers may be different in different repository clones, the
 branch tip may be different in different cloned repositories.
 .TP
@@ -5929,22 +5902,22 @@
 .
 (Noun) Another synonym of changeset.
 .sp
-Example: "I\(aqve pushed an update."
+Example: "I've pushed an update."
 .sp
 (Verb) This term is usually used to describe updating the state of
 the working directory to that of a specific changeset. See
-\%\fBhg help update\fP\:.
+\fBhg help update\fP.
 .sp
 Example: "You should update."
 .TP
 .B Working directory
 .
-See \(aqDirectory, working\(aq.
+See 'Directory, working'.
 .TP
 .B Working directory parent
 .
-See \(aqParent, working directory\(aq.
-.UNINDENT
+See 'Parent, working directory'.
+.RE
 .SH SYNTAX FOR MERCURIAL IGNORE FILES
 .SS Synopsis
 .sp
@@ -5971,16 +5944,16 @@
 .sp
 In addition, a Mercurial configuration file can reference a set of
 per\-user or global ignore files. See the \fBignore\fP configuration
-key on the \fB[ui]\fP section of \%\fBhg help config\fP\: for details of how to
+key on the \fB[ui]\fP section of \fBhg help config\fP for details of how to
 configure these files.
 .sp
-To control Mercurial\(aqs handling of files that it manages, many
+To control Mercurial's handling of files that it manages, many
 commands support the \fB\-I\fP and \fB\-X\fP options; see
-\%\fBhg help <command>\fP\: and \%\fBhg help patterns\fP\: for details.
+\fBhg help <command>\fP and \fBhg help patterns\fP for details.
 .sp
 Files that are already tracked are not affected by .hgignore, even
 if they appear in .hgignore. An untracked file X can be explicitly
-added with \%\fBhg add X\fP\:, even if X would be excluded by a pattern
+added with \fBhg add X\fP, even if X would be excluded by a pattern
 in .hgignore.
 .SS Syntax
 .sp
@@ -5995,13 +5968,13 @@
 To change the syntax used, use a line of the following form:
 .sp
 .nf
-.ft C
+.ft
 syntax: NAME
-.ft P
+.ft
 .fi
 .sp
 where \fBNAME\fP is one of the following:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBregexp\fP
 .sp
@@ -6010,7 +5983,7 @@
 .B \fBglob\fP
 .sp
 Shell\-style glob.
-.UNINDENT
+.RE
 .sp
 The chosen syntax stays in effect when parsing all patterns that
 follow, until another syntax is selected.
@@ -6022,11 +5995,11 @@
 .sp
 Subdirectories can have their own .hgignore settings by adding
 \fBsubinclude:path/to/subdir/.hgignore\fP to the root \fB.hgignore\fP. See
-\%\fBhg help patterns\fP\: for details on \fBsubinclude:\fP and \fBinclude:\fP.
+\fBhg help patterns\fP for details on \fBsubinclude:\fP and \fBinclude:\fP.
 .IP Note
 .
 Patterns specified in other than \fB.hgignore\fP are always rooted.
-Please see \%\fBhg help patterns\fP\: for details.
+Please see \fBhg help patterns\fP for details.
 .RE
 .SS Example
 .sp
@@ -6033,7 +6006,7 @@
 Here is an example ignore file.
 .sp
 .nf
-.ft C
+.ft
 # use glob syntax.
 syntax: glob
 
@@ -6044,21 +6017,21 @@
 # switch to regexp syntax.
 syntax: regexp
 ^\e.pc/
-.ft P
+.ft
 .fi
 .SH CONFIGURING HGWEB
 .sp
-Mercurial\(aqs internal web server, hgweb, can serve either a single
+Mercurial's internal web server, hgweb, can serve either a single
 repository, or a tree of repositories. In the second case, repository
 paths and global options can be defined using a dedicated
-configuration file common to \%\fBhg serve\fP\:, \fBhgweb.wsgi\fP,
+configuration file common to \fBhg serve\fP, \fBhgweb.wsgi\fP,
 \fBhgweb.cgi\fP and \fBhgweb.fcgi\fP.
 .sp
 This file uses the same syntax as other Mercurial configuration files
 but recognizes only the following sections:
-.INDENT 0.0
-.INDENT 3.5
-.INDENT 0.0
+.RS 0
+.RS 3
+.RS 0
 .IP \(bu 2
 .
 web
@@ -6068,11 +6041,11 @@
 .IP \(bu 2
 .
 collections
-.UNINDENT
-.UNINDENT
-.UNINDENT
+.RE
+.RE
+.RE
 .sp
-The \fBweb\fP options are thoroughly described in \%\fBhg help config\fP\:.
+The \fBweb\fP options are thoroughly described in \fBhg help config\fP.
 .sp
 The \fBpaths\fP section maps URL paths to paths of repositories in the
 filesystem. hgweb will not expose the filesystem directly \- only
@@ -6087,7 +6060,7 @@
 path ends with \fB*\fP or \fB**\fP the filesystem will be searched
 recursively for repositories below that point.
 With \fB*\fP it will not recurse into the repositories it finds (except for
-\fB.hg/patches\fP).
+\fB\&.hg/patches\fP).
 With \fB**\fP it will also search inside repository working directories
 and possibly find subrepositories.
 .sp
@@ -6094,15 +6067,15 @@
 In this example:
 .sp
 .nf
-.ft C
+.ft
 [paths]
 /projects/a = /srv/tmprepos/a
 /projects/b = c:/repos/b
 / = /srv/repos/*
 /user/bob = /home/bob/repos/**
-.ft P
+.ft
 .fi
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 The first two entries make two repositories in different directories
@@ -6116,7 +6089,7 @@
 .
 The fourth entry will publish both \fBhttp://server/user/bob/quux/\fP
 and \fBhttp://server/user/bob/quux/testsubrepo/\fP
-.UNINDENT
+.RE
 .sp
 The \fBcollections\fP section is deprecated and has been superseded by
 \fBpaths\fP.
@@ -6139,7 +6112,7 @@
 \fB/log?style=atom\fP. The hyphenated URL parameter is preferred.
 .sp
 Not all templates are available for all styles. Attempting to use
-a style that doesn\(aqt have all templates defined may result in an error
+a style that doesn't have all templates defined may result in an error
 rendering the page.
 .sp
 Many commands take a \fB{revision}\fP URL parameter. This defines the
@@ -6146,7 +6119,7 @@
 changeset to operate on. This is commonly specified as the short,
 12 digit hexadecimal abbreviation for the full 40 character unique
 revision identifier. However, any value described by
-\%\fBhg help revisions\fP\: typically works.
+\fBhg help revisions\fP typically works.
 .SS Commands and URLs
 .sp
 The following web commands and their URLs are available:
@@ -6200,7 +6173,7 @@
 .sp
 The argument for \fBrev\fP can be a single revision, a revision set,
 or a literal keyword to search for in changeset data (equivalent to
-\%\fBhg log \-k\fP\:).
+\fBhg log \-k\fP).
 .sp
 The \fBrevcount\fP query string argument defines the maximum numbers of
 changesets to render.
@@ -6285,7 +6258,7 @@
 .sp
 Render help documentation.
 .sp
-This web command is roughly equivalent to \%\fBhg help\fP\:. If a \fBtopic\fP
+This web command is roughly equivalent to \fBhg help\fP. If a \fBtopic\fP
 is defined, that help topic will be rendered. If not, an index of
 available help topics will be rendered.
 .sp
@@ -6348,9 +6321,9 @@
 .sp
 The \fBtags\fP template is rendered.
 .SH TECHNICAL IMPLEMENTATION TOPICS
-.INDENT 0.0
-.INDENT 3.5
-.INDENT 0.0
+.RS 0
+.RS 3
+.RS 0
 .TP
 .B bundles
 .
@@ -6363,9 +6336,9 @@
 .B revlogs
 .
 revision storage mechanism
-.UNINDENT
-.UNINDENT
-.UNINDENT
+.RE
+.RE
+.RE
 .SH MERGE TOOLS
 .sp
 To merge files Mercurial uses merge tools.
@@ -6375,8 +6348,8 @@
 ancestor of the two file versions, so they can determine the changes
 made on both branches.
 .sp
-Merge tools are used both for \%\fBhg resolve\fP\:, \%\fBhg merge\fP\:, \%\fBhg update\fP\:,
-\%\fBhg backout\fP\: and in several extensions.
+Merge tools are used both for \fBhg resolve\fP, \fBhg merge\fP, \fBhg update\fP,
+\fBhg backout\fP and in several extensions.
 .sp
 Usually, the merge tool tries to automatically reconcile the files by
 combining all non\-overlapping changes that occurred separately in
@@ -6401,7 +6374,7 @@
 .sp
 There are some internal merge tools which can be used. The internal
 merge tools are:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fB:dump\fP
 .sp
@@ -6464,7 +6437,7 @@
 Uses the internal non\-interactive simple merge algorithm for merging
 files. It will use both left and right sides for conflict regions.
 No markers are inserted.
-.UNINDENT
+.RE
 .sp
 Internal tools are always available and do not require a GUI but will by default
 not handle symlinks or binary files.
@@ -6471,7 +6444,7 @@
 .SS Choosing a merge tool
 .sp
 Mercurial uses these rules when deciding which merge tool to use:
-.INDENT 0.0
+.RS 0
 .IP 1. 3
 .
 If a tool has been specified with the \-\-tool option to merge or resolve, it
@@ -6508,11 +6481,11 @@
 .IP 8. 3
 .
 The merge of the file fails and must be resolved before commit.
-.UNINDENT
+.RE
 .IP Note
 .
 After selecting a merge program, Mercurial will by default attempt
-to merge the files using a simple merge algorithm first. Only if it doesn\(aqt
+to merge the files using a simple merge algorithm first. Only if it doesn't
 succeed because of conflicting changes Mercurial will actually execute the
 merge program. Whether to use the simple merge algorithm first can be
 controlled by the premerge setting of the merge tool. Premerge is enabled by
@@ -6548,7 +6521,7 @@
 .IP Note
 .
 Patterns specified in \fB.hgignore\fP are not rooted.
-Please see \%\fBhg help hgignore\fP\: for details.
+Please see \fBhg help hgignore\fP for details.
 .RE
 .sp
 To use a plain path name without any pattern matching, start it with
@@ -6573,8 +6546,8 @@
 To read a set of patterns from a file, use \fBinclude:\fP or \fBsubinclude:\fP.
 \fBinclude:\fP will use all the patterns from the given file and treat them as if
 they had been passed in manually.  \fBsubinclude:\fP will only apply the patterns
-against files that are under the subinclude file\(aqs directory. See \%\fBhg help
-hgignore\fP\: for details on the format of these files.
+against files that are under the subinclude file's directory. See \fBhg help
+hgignore\fP for details on the format of these files.
 .sp
 All patterns, except for \fBglob:\fP specified in command line (not for
 \fB\-I\fP or \fB\-X\fP options), can match also against directories: files
@@ -6583,17 +6556,17 @@
 Plain examples:
 .sp
 .nf
-.ft C
+.ft
 path:foo/bar   a name bar in a directory named foo in the root
                of the repository
 path:path:name a file or directory named "path:name"
-.ft P
+.ft
 .fi
 .sp
 Glob examples:
 .sp
 .nf
-.ft C
+.ft
 glob:*.c       any name ending in ".c" in the current directory
 *.c            any name ending in ".c" in the current directory
 **.c           any name ending in ".c" in any subdirectory of the
@@ -6601,36 +6574,36 @@
 foo/*.c        any name ending in ".c" in the directory foo
 foo/**.c       any name ending in ".c" in any subdirectory of foo
                including itself.
-.ft P
+.ft
 .fi
 .sp
 Regexp examples:
 .sp
 .nf
-.ft C
+.ft
 re:.*\e.c$      any name ending in ".c", anywhere in the repository
-.ft P
+.ft
 .fi
 .sp
 File examples:
 .sp
 .nf
-.ft C
+.ft
 listfile:list.txt  read list from list.txt with one file pattern per line
 listfile0:list.txt read list from list.txt with null byte delimiters
-.ft P
+.ft
 .fi
 .sp
-See also \%\fBhg help filesets\fP\:.
+See also \fBhg help filesets\fP.
 .sp
 Include examples:
 .sp
 .nf
-.ft C
+.ft
 include:path/to/mypatternfile    reads patterns to be applied to all paths
 subinclude:path/to/subignorefile reads patterns specifically for paths in the
                                  subdirectory
-.ft P
+.ft
 .fi
 .SH WORKING WITH PHASES
 .SS What are phases?
@@ -6640,9 +6613,9 @@
 (for instance, with the mq or rebase extensions).
 .sp
 Each changeset in a repository is in one of the following phases:
-.INDENT 0.0
-.INDENT 3.5
-.INDENT 0.0
+.RS 0
+.RS 3
+.RS 0
 .IP \(bu 2
 .
 public : changeset is visible on a public server
@@ -6652,9 +6625,9 @@
 .IP \(bu 2
 .
 secret : changeset should not be pushed, pulled, or cloned
-.UNINDENT
-.UNINDENT
-.UNINDENT
+.RE
+.RE
+.RE
 .sp
 These phases are ordered (public < draft < secret) and no changeset
 can be in a lower phase than its ancestors. For instance, if a
@@ -6668,17 +6641,17 @@
 .sp
 Once changesets become public, extensions like mq and rebase will
 refuse to operate on them to prevent creating duplicate changesets.
-Phases can also be manually manipulated with the \%\fBhg phase\fP\: command
-if needed. See \%\fBhg help \-v phase\fP\: for examples.
+Phases can also be manually manipulated with the \fBhg phase\fP command
+if needed. See \fBhg help \-v phase\fP for examples.
 .sp
 To make yours commits secret by default, put this in your
 configuration file:
 .sp
 .nf
-.ft C
+.ft
 [phases]
 new\-commit = secret
-.ft P
+.ft
 .fi
 .SS Phases and servers
 .sp
@@ -6685,7 +6658,7 @@
 Normally, all servers are \fBpublishing\fP by default. This means:
 .sp
 .nf
-.ft C
+.ft
 \- all draft changesets that are pulled or cloned appear in phase
 public on the client
 
@@ -6693,7 +6666,7 @@
 client and server
 
 \- secret changesets are neither pushed, pulled, or cloned
-.ft P
+.ft
 .fi
 .IP Note
 .
@@ -6706,13 +6679,13 @@
 repository to disable publishing in its configuration file:
 .sp
 .nf
-.ft C
+.ft
 [phases]
 publish = False
-.ft P
+.ft
 .fi
 .sp
-See \%\fBhg help config\fP\: for more information on configuration files.
+See \fBhg help config\fP for more information on configuration files.
 .IP Note
 .
 Servers running older versions of Mercurial are treated as
@@ -6726,17 +6699,17 @@
 of the secret changeset may be communicated to the server.
 .RE
 .SS Examples
-.INDENT 0.0
-.INDENT 3.5
-.INDENT 0.0
+.RS 0
+.RS 3
+.RS 0
 .IP \(bu 2
 .
 list changesets in draft or secret phase:
 .sp
 .nf
-.ft C
+.ft
 hg log \-r "not public()"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -6743,9 +6716,9 @@
 change all secret changesets to draft:
 .sp
 .nf
-.ft C
+.ft
 hg phase \-\-draft "secret()"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -6752,9 +6725,9 @@
 forcibly move the current changeset and descendants from public to draft:
 .sp
 .nf
-.ft C
+.ft
 hg phase \-\-force \-\-draft .
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -6761,9 +6734,9 @@
 show a list of changeset revision and phase:
 .sp
 .nf
-.ft C
+.ft
 hg log \-\-template "{rev} {phase}\en"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -6770,15 +6743,15 @@
 resynchronize draft changesets relative to a remote repository:
 .sp
 .nf
-.ft C
+.ft
 hg phase \-fd "outgoing(URL)"
-.ft P
+.ft
 .fi
-.UNINDENT
-.UNINDENT
-.UNINDENT
+.RE
+.RE
+.RE
 .sp
-See \%\fBhg help phase\fP\: for more information on manually manipulating phases.
+See \fBhg help phase\fP for more information on manually manipulating phases.
 .SH SPECIFYING SINGLE REVISIONS
 .sp
 Mercurial supports several ways to specify individual revisions.
@@ -6824,18 +6797,18 @@
 .sp
 Special characters can be used in quoted identifiers by escaping them,
 e.g., \fB\en\fP is interpreted as a newline. To prevent them from being
-interpreted, strings can be prefixed with \fBr\fP, e.g. \fBr\(aq...\(aq\fP.
+interpreted, strings can be prefixed with \fBr\fP, e.g. \fBr'...'\fP.
 .sp
 There is a single prefix operator:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBnot x\fP
 .sp
 Changesets not in x. Short form is \fB! x\fP.
-.UNINDENT
+.RE
 .sp
 These are the supported infix operators:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBx::y\fP
 .sp
@@ -6874,18 +6847,18 @@
 .B \fBx~n\fP
 .sp
 The nth first ancestor of x; \fBx~0\fP is x; \fBx~3\fP is \fBx^^^\fP.
-.UNINDENT
+.RE
 .sp
 There is a single postfix operator:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBx^\fP
 .sp
 Equivalent to \fBx^1\fP, the first parent of each changeset in x.
-.UNINDENT
+.RE
 .sp
 The following predicates are supported:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBadds(pattern)\fP
 .sp
@@ -6918,7 +6891,7 @@
 .B \fBbisect(string)\fP
 .sp
 Changesets marked in the specified bisect status:
-.INDENT 7.0
+.RS 7
 .IP \(bu 2
 .
 \fBgood\fP, \fBbad\fP, \fBskip\fP: csets explicitly marked as good/bad/skip
@@ -6940,7 +6913,7 @@
 .IP \(bu 2
 .
 \fBcurrent\fP            : the cset currently being bisected
-.UNINDENT
+.RE
 .TP
 .B \fBbookmark([name])\fP
 .sp
@@ -6985,8 +6958,8 @@
 .TP
 .B \fBcontains(pattern)\fP
 .sp
-The revision\(aqs manifest contains a file matching pattern (but might not
-modify it). See \%\fBhg help patterns\fP\: for information about file patterns.
+The revision's manifest contains a file matching pattern (but might not
+modify it). See \fBhg help patterns\fP for information about file patterns.
 .sp
 The pattern without explicit kind like \fBglob:\fP is expected to be
 relative to the current directory and match against a file exactly
@@ -6999,7 +6972,7 @@
 .TP
 .B \fBdate(interval)\fP
 .sp
-Changesets within the interval, see \%\fBhg help dates\fP\:.
+Changesets within the interval, see \fBhg help dates\fP.
 .TP
 .B \fBdesc(string)\fP
 .sp
@@ -7051,7 +7024,7 @@
 .sp
 For performance reasons, visits only revisions mentioned in the file\-level
 filelog, rather than filtering through all changesets (much faster, but
-doesn\(aqt include deletes or duplicate changes). For a slower, more accurate
+doesn't include deletes or duplicate changes). For a slower, more accurate
 result, use \fBfile()\fP.
 .sp
 The pattern without explicit kind like \fBglob:\fP is expected to be
@@ -7058,7 +7031,7 @@
 relative to the current directory and match against a file exactly
 for efficiency.
 .sp
-If some linkrev points to revisions filtered by the current repoview, we\(aqll
+If some linkrev points to revisions filtered by the current repoview, we'll
 work around it to return a non\-filtered value.
 .TP
 .B \fBfirst(set, [n])\fP
@@ -7067,13 +7040,13 @@
 .TP
 .B \fBfollow([pattern])\fP
 .sp
-An alias for \fB::.\fP (ancestors of the working directory\(aqs first parent).
+An alias for \fB::.\fP (ancestors of the working directory's first parent).
 If pattern is specified, the histories of files matching given
 pattern is followed, including copies.
 .TP
 .B \fBgrep(regex)\fP
 .sp
-Like \fBkeyword(string)\fP but accepts a regex. Use \fBgrep(r\(aq...\(aq)\fP
+Like \fBkeyword(string)\fP but accepts a regex. Use \fBgrep(r'...')\fP
 to ensure special escape characters are handled correctly. Unlike
 \fBkeyword(string)\fP, the match is case\-sensitive.
 .TP
@@ -7197,7 +7170,7 @@
 .TP
 .B \fBpresent(set)\fP
 .sp
-An empty set, if any revision in set isn\(aqt found; otherwise,
+An empty set, if any revision in set isn't found; otherwise,
 all revisions in set.
 .sp
 If any of specified revisions is not present in the local repository,
@@ -7211,7 +7184,7 @@
 .B \fBremote([id [,path]])\fP
 .sp
 Local revision that corresponds to the given identifier in a
-remote repository, if present. Here, the \(aq.\(aq identifier is a
+remote repository, if present. Here, the '.' identifier is a
 synonym for the current local branch.
 .TP
 .B \fBremoves(pattern)\fP
@@ -7244,7 +7217,7 @@
 as \fB\-key\fP to sort in descending order.
 .sp
 The keys can be:
-.INDENT 7.0
+.RS 7
 .IP \(bu 2
 .
 \fBrev\fP for the revision number,
@@ -7260,7 +7233,7 @@
 .IP \(bu 2
 .
 \fBdate\fP for the commit date
-.UNINDENT
+.RE
 .TP
 .B \fBsubrepo([pattern])\fP
 .sp
@@ -7286,15 +7259,15 @@
 If \fIstring\fP starts with \fIre:\fP, the remainder of the string is treated as
 a regular expression. To match a user that actually contains \fIre:\fP, use
 the prefix \fIliteral:\fP.
-.UNINDENT
+.RE
 .sp
 New predicates (known as "aliases") can be defined, using any combination of
 existing predicates or other aliases. An alias definition looks like:
 .sp
 .nf
-.ft C
+.ft
 <alias> = <definition>
-.ft P
+.ft
 .fi
 .sp
 in the \fBrevsetalias\fP section of a Mercurial configuration file. Arguments
@@ -7304,12 +7277,12 @@
 For example,
 .sp
 .nf
-.ft C
+.ft
 [revsetalias]
 h = heads()
 d($1) = sort($1, date)
 rs($1, $2) = reverse(sort($1, $2))
-.ft P
+.ft
 .fi
 .sp
 defines three aliases, \fBh\fP, \fBd\fP, and \fBrs\fP. \fBrs(0:tip, author)\fP is
@@ -7319,13 +7292,13 @@
 one string. For example:
 .sp
 .nf
-.ft C
+.ft
 [revsetalias]
-issue($1) = grep(r\(aq\ebissue[ :]?\(aq ## $1 ## r\(aq\eb|\ebbug\e(\(aq ## $1 ## r\(aq\e)\(aq)
-.ft P
+issue($1) = grep(r'\ebissue[ :]?' ## $1 ## r'\eb|\ebbug\e(' ## $1 ## r'\e)')
+.ft
 .fi
 .sp
-\fBissue(1234)\fP is equivalent to \fBgrep(r\(aq\ebissue[ :]?1234\eb|\ebbug\e(1234\e)\(aq)\fP
+\fBissue(1234)\fP is equivalent to \fBgrep(r'\ebissue[ :]?1234\eb|\ebbug\e(1234\e)')\fP
 in this case. This matches against all of "issue 1234", "issue:1234",
 "issue1234" and "bug(1234)".
 .sp
@@ -7332,10 +7305,10 @@
 All other prefix, infix and postfix operators have lower priority than
 \fB##\fP. For example, \fB$1 ## $2~2\fP is equivalent to \fB($1 ## $2)~2\fP.
 .sp
-Command line equivalents for \%\fBhg log\fP\::
+Command line equivalents for \fBhg log\fP:
 .sp
 .nf
-.ft C
+.ft
 \-f    \->  ::.
 \-d x  \->  date(x)
 \-k x  \->  keyword(x)
@@ -7344,19 +7317,19 @@
 \-b x  \->  branch(x)
 \-P x  \->  !::x
 \-l x  \->  limit(expr, x)
-.ft P
+.ft
 .fi
 .sp
 Some sample queries:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 Changesets on the default branch:
 .sp
 .nf
-.ft C
+.ft
 hg log \-r "branch(default)"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -7363,9 +7336,9 @@
 Changesets on the default branch since tag 1.5 (excluding merges):
 .sp
 .nf
-.ft C
+.ft
 hg log \-r "branch(default) and 1.5:: and not merge()"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -7372,9 +7345,9 @@
 Open branch heads:
 .sp
 .nf
-.ft C
+.ft
 hg log \-r "head() and not closed()"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -7382,9 +7355,9 @@
 \fBhgext/*\fP:
 .sp
 .nf
-.ft C
-hg log \-r "1.3::1.5 and keyword(bug) and file(\(aqhgext/*\(aq)"
-.ft P
+.ft
+hg log \-r "1.3::1.5 and keyword(bug) and file('hgext/*')"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -7391,9 +7364,9 @@
 Changesets committed in May 2008, sorted by user:
 .sp
 .nf
-.ft C
-hg log \-r "sort(date(\(aqMay 2008\(aq), user)"
-.ft P
+.ft
+hg log \-r "sort(date('May 2008'), user)"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -7401,11 +7374,11 @@
 release:
 .sp
 .nf
-.ft C
+.ft
 hg log \-r "(keyword(bug) or keyword(issue)) and not ancestors(tag())"
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .SH USING MERCURIAL FROM SCRIPTS AND AUTOMATION
 .sp
 It is common for machines (as opposed to humans) to consume Mercurial.
@@ -7415,7 +7388,7 @@
 .sp
 Machines have a choice of several methods to interface with Mercurial.
 These include:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 Executing the \fBhg\fP process
@@ -7425,21 +7398,21 @@
 .IP \(bu 2
 .
 Calling out to a command server
-.UNINDENT
+.RE
 .sp
 Executing \fBhg\fP processes is very similar to how humans interact with
 Mercurial in the shell. It should already be familiar to you.
 .sp
-\%\fBhg serve\fP\: can be used to start a server. By default, this will start
+\fBhg serve\fP can be used to start a server. By default, this will start
 a "hgweb" HTTP server. This HTTP server has support for machine\-readable
-output, such as JSON. For more, see \%\fBhg help hgweb\fP\:.
+output, such as JSON. For more, see \fBhg help hgweb\fP.
 .sp
-\%\fBhg serve\fP\: can also start a "command server." Clients can connect
+\fBhg serve\fP can also start a "command server." Clients can connect
 to this server and issue Mercurial commands over a special protocol.
 For more details on the command server, including links to client
-libraries, see \%https://mercurial.selenic.com/wiki/CommandServer\:.
+libraries, see https://mercurial.selenic.com/wiki/CommandServer.
 .sp
-\%\fBhg serve\fP\: based interfaces (the hgweb and command servers) have the
+\fBhg serve\fP based interfaces (the hgweb and command servers) have the
 advantage over simple \fBhg\fP process invocations in that they are
 likely more efficient. This is because there is significant overhead
 to spawn new Python processes.
@@ -7451,14 +7424,14 @@
 .RE
 .SS Environment Variables
 .sp
-As documented in \%\fBhg help environment\fP\:, various environment variables
+As documented in \fBhg help environment\fP, various environment variables
 influence the operation of Mercurial. The following are particularly
 relevant for machines consuming Mercurial:
-.INDENT 0.0
+.RS 0
 .TP
 .B HGPLAIN
 .
-If not set, Mercurial\(aqs output could be influenced by configuration
+If not set, Mercurial's output could be influenced by configuration
 settings that impact its encoding, verbose mode, localization, etc.
 .sp
 It is highly recommended for machines to set this variable when
@@ -7479,7 +7452,7 @@
 .B HGRCPATH
 .
 If not set, Mercurial will inherit config options from config files
-using the process described in \%\fBhg help config\fP\:. This includes
+using the process described in \fBhg help config\fP. This includes
 inheriting user or system\-wide config files.
 .sp
 When utmost control over the Mercurial configuration is desired, the
@@ -7490,7 +7463,7 @@
 consequences, as the user and system config files often define things
 like the username and extensions that may be required to interface
 with a repository.
-.UNINDENT
+.RE
 .SS Consuming Command Output
 .sp
 It is common for machines to need to parse the output of Mercurial
@@ -7514,7 +7487,7 @@
 .SS Using Templates to Control Output
 .sp
 Many \fBhg\fP commands support templatized output via the
-\fB\-T/\-\-template\fP argument. For more, see \%\fBhg help templates\fP\:.
+\fB\-T/\-\-template\fP argument. For more, see \fBhg help templates\fP.
 .sp
 Templates are useful for explicitly controlling output so that
 you get exactly the data you want formatted how you want it. For
@@ -7552,13 +7525,13 @@
 .sp
 Commands often have varying output verbosity, even when machine
 readable styles are being used (e.g. \fB\-T json\fP). Adding
-\fB\-v/\-\-verbose\fP and \fB\-\-debug\fP to the command\(aqs arguments can
+\fB\-v/\-\-verbose\fP and \fB\-\-debug\fP to the command's arguments can
 increase the amount of data exposed by Mercurial.
 .sp
 An alternate way to get the data you need is by explicitly specifying
 a template.
 .SS Other Topics
-.INDENT 0.0
+.RS 0
 .TP
 .B revsets
 .
@@ -7566,7 +7539,7 @@
 of revisions. Think of it as SQL for Mercurial repositories. Revsets
 are useful for querying repositories for specific data.
 .sp
-See \%\fBhg help revsets\fP\: for more.
+See \fBhg help revsets\fP for more.
 .TP
 .B share extension
 .
@@ -7580,8 +7553,8 @@
 network. This is especially true for continuous integration (CI)
 environments.
 .sp
-See \%\fBhg help \-e share\fP\: for more.
-.UNINDENT
+See \fBhg help \-e share\fP for more.
+.RE
 .SH SUBREPOSITORIES
 .sp
 Subrepositories let you nest external repositories or projects into a
@@ -7592,7 +7565,7 @@
 subrepositories.
 .sp
 Subrepositories are made of three components:
-.INDENT 0.0
+.RS 0
 .IP 1. 3
 .
 Nested repository checkouts. They can appear anywhere in the
@@ -7605,18 +7578,18 @@
 subrepositories are referenced like:
 .sp
 .nf
-.ft C
+.ft
 path/to/nested = https://example.com/nested/repo/path
-.ft P
+.ft
 .fi
 .sp
 Git and Subversion subrepos are also supported:
 .sp
 .nf
-.ft C
+.ft
 path/to/nested = [git]git://example.com/nested/repo/path
 path/to/nested = [svn]https://example.com/nested/trunk/path
-.ft P
+.ft
 .fi
 .sp
 where \fBpath/to/nested\fP is the checkout location relatively to the
@@ -7639,7 +7612,7 @@
 .
 The \fB.hgsubstate\fP file should not be edited manually.
 .RE
-.UNINDENT
+.RE
 .SS Adding a Subrepository
 .sp
 If \fB.hgsub\fP does not exist, create it and add it to the parent
@@ -7647,7 +7620,7 @@
 to live in the parent repository. Edit \fB.hgsub\fP and add the
 subrepository entry as described above. At this point, the
 subrepository is tracked and the next commit will record its state in
-\fB.hgsubstate\fP and bind it to the committed changeset.
+\fB\&.hgsubstate\fP and bind it to the committed changeset.
 .SS Synchronizing a Subrepository
 .sp
 Subrepos do not automatically track the latest changeset of their
@@ -7664,7 +7637,7 @@
 To remove a subrepository from the parent repository, delete its
 reference from \fB.hgsub\fP, then remove its files.
 .SS Interaction with Mercurial Commands
-.INDENT 0.0
+.RS 0
 .TP
 .B add
 .
@@ -7699,7 +7672,7 @@
 have been modified, Mercurial will abort.  Mercurial can be made
 to instead commit all modified subrepositories by specifying
 \-S/\-\-subrepos, or setting "ui.commitsubrepos=True" in a
-configuration file (see \%\fBhg help config\fP\:).  After there are no
+configuration file (see \fBhg help config\fP).  After there are no
 longer any modified subrepositories, it records their state and
 finally commits it in the parent repository.  The \-\-addremove
 option also honors the \-S/\-\-subrepos option.  However, Git and
@@ -7739,7 +7712,7 @@
 .B pull
 .
 pull is not recursive since it is not clear what to pull prior
-to running \%\fBhg update\fP\:. Listing and retrieving all
+to running \fBhg update\fP. Listing and retrieving all
 subrepositories changes referenced by the parent repository pulled
 changesets is expensive at best, impossible in the Subversion
 case.
@@ -7774,7 +7747,7 @@
 changeset is not available in the current subrepository, Mercurial
 will pull it in first before updating.  This means that updating
 can require network access when using subrepositories.
-.UNINDENT
+.RE
 .SS Remapping Subrepositories Sources
 .sp
 A subrepository source location may change during a project life,
@@ -7792,12 +7765,12 @@
 outgoing, incoming, tip, parents, and heads.
 .sp
 Some built\-in styles are packaged with Mercurial. These can be listed
-with \%\fBhg log \-\-template list\fP\:. Example usage:
+with \fBhg log \-\-template list\fP. Example usage:
 .sp
 .nf
-.ft C
+.ft
 $ hg log \-r1.0::1.1 \-\-template changelog
-.ft P
+.ft
 .fi
 .sp
 A template is a piece of text, with markup to invoke variable
@@ -7804,16 +7777,16 @@
 expansion:
 .sp
 .nf
-.ft C
+.ft
 $ hg log \-r1 \-\-template "{node}\en"
 b56ce7b07c52de7d5fd79fb89701ea538af65746
-.ft P
+.ft
 .fi
 .sp
 Strings in curly braces are called keywords. The availability of
 keywords depends on the exact context of the templater. These
 keywords are usually available for templating a log\-like command:
-.INDENT 0.0
+.RS 0
 .TP
 .B activebookmark
 .
@@ -7831,7 +7804,7 @@
 .B bookmarks
 .
 List of strings. Any bookmarks associated with the
-changeset. Also sets \(aqactive\(aq, the name of the active bookmark.
+changeset. Also sets 'active', the name of the active bookmark.
 .TP
 .B branch
 .
@@ -7861,7 +7834,7 @@
 .TP
 .B extras
 .
-List of dicts with key, value entries of the \(aqextras\(aq
+List of dicts with key, value entries of the 'extras'
 field of this changeset.
 .TP
 .B file_adds
@@ -7917,24 +7890,24 @@
 .TP
 .B p1node
 .
-String. The identification hash of the changeset\(aqs first parent,
+String. The identification hash of the changeset's first parent,
 as a 40 digit hexadecimal string. If the changeset has no parents, all
 digits are 0.
 .TP
 .B p1rev
 .
-Integer. The repository\-local revision number of the changeset\(aqs
+Integer. The repository\-local revision number of the changeset's
 first parent, or \-1 if the changeset has no parents.
 .TP
 .B p2node
 .
-String. The identification hash of the changeset\(aqs second
+String. The identification hash of the changeset's second
 parent, as a 40 digit hexadecimal string. If the changeset has no second
 parent, all digits are 0.
 .TP
 .B p2rev
 .
-Integer. The repository\-local revision number of the changeset\(aqs
+Integer. The repository\-local revision number of the changeset's
 second parent, or \-1 if the changeset has no second parent.
 .TP
 .B parents
@@ -7962,24 +7935,24 @@
 .B tags
 .
 List of strings. Any tags associated with the changeset.
-.UNINDENT
+.RE
 .sp
 The "date" keyword does not produce human\-readable output. If you
 want to use a date in your output, you can use a filter to process
 it. Filters are functions which return a string based on the input
-variable. Be sure to use the stringify filter first when you\(aqre
+variable. Be sure to use the stringify filter first when you're
 applying a string\-input filter to a list\-like input variable.
 You can also use a chain of filters to get the desired output:
 .sp
 .nf
-.ft C
+.ft
 $ hg tip \-\-template "{date|isodate}\en"
 2008\-08\-21 18:22 +0000
-.ft P
+.ft
 .fi
 .sp
 List of filters:
-.INDENT 0.0
+.RS 0
 .TP
 .B addbreaks
 .
@@ -8062,7 +8035,7 @@
 .TP
 .B nonempty
 .
-Any text. Returns \(aq(none)\(aq if the string is empty.
+Any text. Returns '(none)' if the string is empty.
 .TP
 .B obfuscate
 .
@@ -8138,17 +8111,17 @@
 .
 Any text. Returns a short representation of a user name or email
 address.
-.UNINDENT
+.RE
 .sp
 Note that a filter is nothing more than a function call, i.e.
 \fBexpr|filter\fP is equivalent to \fBfilter(expr)\fP.
 .sp
 In addition to filters, there are some basic built\-in functions:
-.INDENT 0.0
+.RS 0
 .TP
 .B date(date[, fmt])
 .
-Format a date. See \%\fBhg help dates\fP\: for formatting
+Format a date. See \fBhg help dates\fP for formatting
 strings. The default is a Unix date format, including the timezone:
 "Mon Sep 04 15:13:13 2006 0700".
 .TP
@@ -8210,7 +8183,7 @@
 Converts a date to the specified timezone.
 The default is local date.
 .TP
-.B pad(text, width[, fillchar=\(aq \(aq[, right=False]])
+.B pad(text, width[, fillchar=' '[, right=False]])
 .
 Pad text with a
 fill character.
@@ -8218,7 +8191,7 @@
 .B revset(query[, formatargs...])
 .
 Execute a revision set query. See
-\%\fBhg help revset\fP\:.
+\fBhg help revset\fP.
 .TP
 .B rstdoc(text, style)
 .
@@ -8247,29 +8220,29 @@
 .B word(number, text[, separator])
 .
 Return the nth word from a string.
-.UNINDENT
+.RE
 .sp
 Also, for any expression that returns a list, there is a list operator:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 expr % "{template}"
-.UNINDENT
+.RE
 .sp
 As seen in the above example, "{template}" is interpreted as a template.
 To prevent it from being interpreted, you can use an escape character "{"
-or a raw string prefix, "r\(aq...\(aq".
+or a raw string prefix, "r'...'".
 .sp
 Some sample command line templates:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 Format lists, e.g. files:
 .sp
 .nf
-.ft C
-$ hg log \-r 0 \-\-template "files:\en{files % \(aq  {file}\en\(aq}"
-.ft P
+.ft
+$ hg log \-r 0 \-\-template "files:\en{files % '  {file}\en'}"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -8276,9 +8249,9 @@
 Join the list of files with a ", ":
 .sp
 .nf
-.ft C
-$ hg log \-r 0 \-\-template "files: {join(files, \(aq, \(aq)}\en"
-.ft P
+.ft
+$ hg log \-r 0 \-\-template "files: {join(files, ', ')}\en"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -8285,9 +8258,9 @@
 Modify each line of a commit description:
 .sp
 .nf
-.ft C
-$ hg log \-\-template "{splitlines(desc) % \(aq**** {line}\en\(aq}"
-.ft P
+.ft
+$ hg log \-\-template "{splitlines(desc) % '**** {line}\en'}"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -8294,9 +8267,9 @@
 Format date:
 .sp
 .nf
-.ft C
-$ hg log \-r 0 \-\-template "{date(date, \(aq%Y\(aq)}\en"
-.ft P
+.ft
+$ hg log \-r 0 \-\-template "{date(date, '%Y')}\en"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -8303,9 +8276,9 @@
 Display date in UTC:
 .sp
 .nf
-.ft C
-$ hg log \-r 0 \-\-template "{localdate(date, \(aqUTC\(aq)|date}\en"
-.ft P
+.ft
+$ hg log \-r 0 \-\-template "{localdate(date, 'UTC')|date}\en"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -8312,9 +8285,9 @@
 Output the description set to a fill\-width of 30:
 .sp
 .nf
-.ft C
+.ft
 $ hg log \-r 0 \-\-template "{fill(desc, 30)}"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -8321,10 +8294,10 @@
 Use a conditional to test for the default branch:
 .sp
 .nf
-.ft C
-$ hg log \-r 0 \-\-template "{ifeq(branch, \(aqdefault\(aq, \(aqon the main branch\(aq,
-\(aqon branch {branch}\(aq)}\en"
-.ft P
+.ft
+$ hg log \-r 0 \-\-template "{ifeq(branch, 'default', 'on the main branch',
+\&'on branch {branch}')}\en"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -8331,9 +8304,9 @@
 Append a newline if not empty:
 .sp
 .nf
-.ft C
-$ hg tip \-\-template "{if(author, \(aq{author}\en\(aq)}"
-.ft P
+.ft
+$ hg tip \-\-template "{if(author, '{author}\en')}"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -8340,9 +8313,9 @@
 Label the output for use with the color extension:
 .sp
 .nf
-.ft C
-$ hg log \-r 0 \-\-template "{label(\(aqchangeset.{phase}\(aq, node|short)}\en"
-.ft P
+.ft
+$ hg log \-r 0 \-\-template "{label('changeset.{phase}', node|short)}\en"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -8349,27 +8322,27 @@
 Invert the firstline filter, i.e. everything but the first line:
 .sp
 .nf
-.ft C
-$ hg log \-r 0 \-\-template "{sub(r\(aq^.*\en?\en?\(aq, \(aq\(aq, desc)}\en"
-.ft P
+.ft
+$ hg log \-r 0 \-\-template "{sub(r'^.*\en?\en?', '', desc)}\en"
+.ft
 .fi
 .IP \(bu 2
 .
-Display the contents of the \(aqextra\(aq field, one per line:
+Display the contents of the 'extra' field, one per line:
 .sp
 .nf
-.ft C
-$ hg log \-r 0 \-\-template "{join(extras, \(aq\en\(aq)}\en"
-.ft P
+.ft
+$ hg log \-r 0 \-\-template "{join(extras, '\en')}\en"
+.ft
 .fi
 .IP \(bu 2
 .
-Mark the active bookmark with \(aq*\(aq:
+Mark the active bookmark with '*':
 .sp
 .nf
-.ft C
-$ hg log \-\-template "{bookmarks % \(aq{bookmark}{ifeq(bookmark, active, \(aq*\(aq)} \(aq}\en"
-.ft P
+.ft
+$ hg log \-\-template "{bookmarks % '{bookmark}{ifeq(bookmark, active, '*')} '}\en"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -8376,18 +8349,18 @@
 Find the previous release candidate tag, the distance and changes since the tag:
 .sp
 .nf
-.ft C
-$ hg log \-r . \-\-template "{latesttag(\(aqre:^.*\-rc$\(aq) % \(aq{tag}, {changes}, {distance}\(aq}\en"
-.ft P
+.ft
+$ hg log \-r . \-\-template "{latesttag('re:^.*\-rc$') % '{tag}, {changes}, {distance}'}\en"
+.ft
 .fi
 .IP \(bu 2
 .
-Mark the working copy parent with \(aq@\(aq:
+Mark the working copy parent with '@':
 .sp
 .nf
-.ft C
-$ hg log \-\-template "{ifcontains(rev, revset(\(aq.\(aq), \(aq@\(aq)}\en"
-.ft P
+.ft
+$ hg log \-\-template "{ifcontains(rev, revset('.'), '@')}\en"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -8394,9 +8367,9 @@
 Show details of parent revisions:
 .sp
 .nf
-.ft C
-$ hg log \-\-template "{revset(\(aqparents(%d)\(aq, rev) % \(aq{desc|firstline}\en\(aq}"
-.ft P
+.ft
+$ hg log \-\-template "{revset('parents(%d)', rev) % '{desc|firstline}\en'}"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -8403,9 +8376,9 @@
 Show only commit descriptions that start with "template":
 .sp
 .nf
-.ft C
-$ hg log \-\-template "{startswith(\(aqtemplate\(aq, firstline(desc))}\en"
-.ft P
+.ft
+$ hg log \-\-template "{startswith('template', firstline(desc))}\en"
+.ft
 .fi
 .IP \(bu 2
 .
@@ -8412,34 +8385,34 @@
 Print the first word of each line of a commit message:
 .sp
 .nf
-.ft C
+.ft
 $ hg log \-\-template "{word(0, desc)}\en"
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .SH URL PATHS
 .sp
 Valid URLs are of the form:
 .sp
 .nf
-.ft C
+.ft
 local/filesystem/path[#revision]
 file://local/filesystem/path[#revision]
 http://[user[:pass]@]host[:port]/[path][#revision]
 https://[user[:pass]@]host[:port]/[path][#revision]
 ssh://[user@]host[:port]/[path][#revision]
-.ft P
+.ft
 .fi
 .sp
 Paths in the local filesystem can either point to Mercurial
-repositories or to bundle files (as created by \%\fBhg bundle\fP\: or
-\%\fBhg incoming \-\-bundle\fP\:). See also \%\fBhg help paths\fP\:.
+repositories or to bundle files (as created by \fBhg bundle\fP or
+\fBhg incoming \-\-bundle\fP). See also \fBhg help paths\fP.
 .sp
 An optional identifier after # indicates a particular branch, tag, or
-changeset to use from the remote repository. See also \%\fBhg help
-revisions\fP\:.
+changeset to use from the remote repository. See also \fBhg help
+revisions\fP.
 .sp
-Some features, such as pushing to \%http://\: and \%https://\: URLs are only
+Some features, such as pushing to http:// and https:// URLs are only
 possible if the feature is explicitly enabled on the remote Mercurial
 server.
 .sp
@@ -8447,7 +8420,7 @@
 web.cacerts.
 .sp
 Some notes about using SSH with Mercurial:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 SSH requires an accessible shell account on the destination machine
@@ -8454,63 +8427,63 @@
 and a copy of hg in the remote path or specified with as remotecmd.
 .IP \(bu 2
 .
-path is relative to the remote user\(aqs home directory by default. Use
+path is relative to the remote user's home directory by default. Use
 an extra slash at the start of a path to specify an absolute path:
 .sp
 .nf
-.ft C
+.ft
 ssh://example.com//tmp/repository
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
-Mercurial doesn\(aqt use its own compression via SSH; the right thing
+Mercurial doesn't use its own compression via SSH; the right thing
 to do is to configure it in your ~/.ssh/config, e.g.:
 .sp
 .nf
-.ft C
+.ft
 Host *.mylocalnetwork.example.com
   Compression no
 Host *
   Compression yes
-.ft P
+.ft
 .fi
 .sp
 Alternatively specify "ssh \-C" as your ssh command in your
 configuration file or with the \-\-ssh command line option.
-.UNINDENT
+.RE
 .sp
 These URLs can all be stored in your configuration file with path
 aliases under the [paths] section like so:
 .sp
 .nf
-.ft C
+.ft
 [paths]
 alias1 = URL1
 alias2 = URL2
 \&...
-.ft P
+.ft
 .fi
 .sp
 You can then use the alias for any command that uses a URL (for
-example \%\fBhg pull alias1\fP\: will be treated as \%\fBhg pull URL1\fP\:).
+example \fBhg pull alias1\fP will be treated as \fBhg pull URL1\fP).
 .sp
 Two path aliases are special because they are used as defaults when
 you do not provide the URL to a command:
-.INDENT 0.0
+.RS 0
 .TP
 .B default:
 .
 When you create a repository with hg clone, the clone command saves
-the location of the source repository as the new repository\(aqs
-\(aqdefault\(aq path. This is then used when you omit path from push\- and
+the location of the source repository as the new repository's
+\&'default' path. This is then used when you omit path from push\- and
 pull\-like commands (including incoming and outgoing).
 .TP
 .B default\-push:
 .
-The push command will look for a path named \(aqdefault\-push\(aq, and
-prefer it over \(aqdefault\(aq if both are defined.
-.UNINDENT
+The push command will look for a path named 'default\-push', and
+prefer it over 'default' if both are defined.
+.RE
 .SH EXTENSIONS
 .sp
 This section contains help for extensions that are distributed together with Mercurial. Help for other extensions is available in the help system.
@@ -8534,7 +8507,7 @@
 distinguish them.
 .sp
 The order in which access checks are performed is:
-.INDENT 0.0
+.RS 0
 .IP 1. 3
 .
 Deny  list for branches (section \fBacl.deny.branches\fP)
@@ -8547,7 +8520,7 @@
 .IP 4. 3
 .
 Allow list for paths    (section \fBacl.allow\fP)
-.UNINDENT
+.RE
 .sp
 The allow and deny sections take key\-value pairs.
 .SS Branch\-based Access Control
@@ -8555,7 +8528,7 @@
 Use the \fBacl.deny.branches\fP and \fBacl.allow.branches\fP sections to
 have branch\-based access control. Keys in these sections can be
 either:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 a branch name, or
@@ -8562,10 +8535,10 @@
 .IP \(bu 2
 .
 an asterisk, to match any branch;
-.UNINDENT
+.RE
 .sp
 The corresponding values can be either:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 a comma\-separated list containing users and groups, or
@@ -8572,7 +8545,7 @@
 .IP \(bu 2
 .
 an asterisk, to match anyone;
-.UNINDENT
+.RE
 .sp
 You can add the "!" prefix to a user or group name to invert the sense
 of the match.
@@ -8594,7 +8567,7 @@
 .SS Example Configuration
 .sp
 .nf
-.ft C
+.ft
 [hooks]
 
 # Use this if you want to check access restrictions at commit time
@@ -8670,12 +8643,12 @@
 src/main/resources/** = *
 
 \&.hgtags = release_engineer
-.ft P
+.ft
 .fi
 .SS Examples using the "!" prefix
 .sp
-Suppose there\(aqs a branch that only a given user (or group) should be able to
-push to, and you don\(aqt want to restrict access to any other branch that may
+Suppose there's a branch that only a given user (or group) should be able to
+push to, and you don't want to restrict access to any other branch that may
 be created.
 .sp
 The "!" prefix allows you to prevent anyone except a given user or group to
@@ -8687,18 +8660,18 @@
 3) Deny access to a file to anyone but user "gollum"
 .sp
 .nf
-.ft C
+.ft
 [acl.allow.branches]
 # Empty
 
 [acl.deny.branches]
 
-# 1) only \(aqgollum\(aq can commit to branch \(aqring\(aq;
-# \(aqgollum\(aq and anyone else can still commit to any other branch.
+# 1) only 'gollum' can commit to branch 'ring';
+# 'gollum' and anyone else can still commit to any other branch.
 ring = !gollum
 
-# 2) only members of the group \(aqhobbit\(aq can commit to branch \(aqlake\(aq;
-# \(aqhobbit\(aq members and anyone else can still commit to any other branch.
+# 2) only members of the group 'hobbit' can commit to branch 'lake';
+# 'hobbit' members and anyone else can still commit to any other branch.
 lake = !@hobbit
 
 # You can also deny access based on file paths:
@@ -8707,10 +8680,10 @@
 # Empty
 
 [acl.deny]
-# 3) only \(aqgollum\(aq can change the file below;
-# \(aqgollum\(aq and anyone else can still change any other file.
+# 3) only 'gollum' can change the file below;
+# 'gollum' and anyone else can still change any other file.
 /misty/mountains/cave/ring = !gollum
-.ft P
+.ft
 .fi
 .SS blackbox
 .sp
@@ -8721,7 +8694,7 @@
 Examples:
 .sp
 .nf
-.ft C
+.ft
 [blackbox]
 track = *
 
@@ -8736,7 +8709,7 @@
 maxsize = 1.5 MB
 # rotate up to N log files when the current one gets too big
 maxfiles = 3
-.ft P
+.ft
 .fi
 .SS Commands
 .SS blackbox
@@ -8744,20 +8717,20 @@
 view the recent repository events:
 .sp
 .nf
-.ft C
+.ft
 hg blackbox [OPTION]...
-.ft P
+.ft
 .fi
 .sp
 view the recent repository events
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-l,  \-\-limit \ <VALUE>
 .
 the number of events to show (default: 10)
-.UNINDENT
+.RE
 .SS bugzilla
 .sp
 hooks for integrating with the Bugzilla bug tracker
@@ -8770,7 +8743,7 @@
 hours spent working on the bug. Bugs can also be marked fixed.
 .sp
 Three basic modes of access to Bugzilla are provided:
-.INDENT 0.0
+.RS 0
 .IP 1. 3
 .
 Access via the Bugzilla XMLRPC interface. Requires Bugzilla 3.4 or later.
@@ -8782,7 +8755,7 @@
 .
 Writing directly to the Bugzilla database. Only Bugzilla installations
 using MySQL are supported. Requires Python MySQLdb.
-.UNINDENT
+.RE
 .sp
 Writing directly to the database is susceptible to schema changes, and
 relies on a Bugzilla contrib script to send out bug change
@@ -8810,12 +8783,12 @@
 works on all supported Bugzilla versions.
 .sp
 Configuration items common to all access modes:
-.INDENT 0.0
+.RS 0
 .TP
 .B bugzilla.version
 .
 The access type to use. Values recognized are:
-.INDENT 7.0
+.RS 7
 .TP
 .B \fBxmlrpc\fP
 .sp
@@ -8838,7 +8811,7 @@
 .sp
 MySQL access, Bugzilla 2.16 and up to but not
 including 2.18.
-.UNINDENT
+.RE
 .TP
 .B bugzilla.regexp
 .
@@ -8883,7 +8856,7 @@
 Template to use when formatting comments. Overrides style if
 specified. In addition to the usual Mercurial keywords, the
 extension specifies:
-.INDENT 7.0
+.RS 7
 .TP
 .B \fB{bug}\fP
 .sp
@@ -8900,7 +8873,7 @@
 .B \fB{hgweb}\fP
 .sp
 Base URL for browsing Mercurial repositories.
-.UNINDENT
+.RE
 .sp
 Default \fBchangeset {node|short} in repo {root} refers to bug
 {bug}.\endetails:\en\et{desc|tabindent}\fP
@@ -8917,10 +8890,10 @@
 .
 Base URL for browsing Mercurial repositories. Referenced from
 templates as \fB{hgweb}\fP.
-.UNINDENT
+.RE
 .sp
 Configuration items common to XMLRPC+email and MySQL access modes:
-.INDENT 0.0
+.RS 0
 .TP
 .B bugzilla.usermap
 .
@@ -8929,13 +8902,13 @@
 line:
 .sp
 .nf
-.ft C
+.ft
 committer = Bugzilla user
-.ft P
+.ft
 .fi
 .sp
 See also the \fB[usermap]\fP section.
-.UNINDENT
+.RE
 .sp
 The \fB[usermap]\fP section is used to specify mappings of Mercurial
 committer email to Bugzilla user email. See also \fBbugzilla.usermap\fP.
@@ -8942,7 +8915,7 @@
 Contains entries of the form \fBcommitter = Bugzilla user\fP.
 .sp
 XMLRPC access mode configuration:
-.INDENT 0.0
+.RS 0
 .TP
 .B bugzilla.bzurl
 .
@@ -8957,22 +8930,22 @@
 .B bugzilla.password
 .
 The password for Bugzilla login.
-.UNINDENT
+.RE
 .sp
 XMLRPC+email access mode uses the XMLRPC access mode configuration items,
 and also:
-.INDENT 0.0
+.RS 0
 .TP
 .B bugzilla.bzemail
 .
 The Bugzilla email address.
-.UNINDENT
+.RE
 .sp
 In addition, the Mercurial email settings must be configured. See the
 documentation in hgrc(5), sections \fB[email]\fP and \fB[smtp]\fP.
 .sp
 MySQL access mode configuration:
-.INDENT 0.0
+.RS 0
 .TP
 .B bugzilla.host
 .
@@ -9012,12 +8985,12 @@
 id) and \fBuser\fP (committer bugzilla email). Default depends on
 version; from 2.18 it is "cd %(bzdir)s && perl \-T
 contrib/sendbugmail.pl %(id)s %(user)s".
-.UNINDENT
+.RE
 .sp
 Activating the extension:
 .sp
 .nf
-.ft C
+.ft
 [extensions]
 bugzilla =
 
@@ -9024,7 +8997,7 @@
 [hooks]
 # run bugzilla hook on every change pulled or pushed in here
 incoming.bugzilla = python:hgext.bugzilla.hook
-.ft P
+.ft
 .fi
 .sp
 Example configurations:
@@ -9036,7 +9009,7 @@
 with a web interface at \fBhttp://my\-project.org/hg\fP.
 .sp
 .nf
-.ft C
+.ft
 [bugzilla]
 bzurl=http://my\-project.org/bugzilla
 user=bugmail@my\-project.org
@@ -9049,7 +9022,7 @@
 
 [web]
 baseurl=http://my\-project.org/hg
-.ft P
+.ft
 .fi
 .sp
 XMLRPC+email example configuration. This uses the Bugzilla at
@@ -9061,7 +9034,7 @@
 \fBbugzilla@my\-project.org\fP.
 .sp
 .nf
-.ft C
+.ft
 [bugzilla]
 bzurl=http://my\-project.org/bugzilla
 user=bugmail@my\-project.org
@@ -9078,7 +9051,7 @@
 
 [usermap]
 user@emaildomain.com=user.name@bugzilladomain.com
-.ft P
+.ft
 .fi
 .sp
 MySQL example configuration. This has a local Bugzilla 3.2 installation
@@ -9089,7 +9062,7 @@
 with a web interface at \fBhttp://my\-project.org/hg\fP.
 .sp
 .nf
-.ft C
+.ft
 [bugzilla]
 host=localhost
 password=XYZZY
@@ -9106,18 +9079,18 @@
 
 [usermap]
 user@emaildomain.com=user.name@bugzilladomain.com
-.ft P
+.ft
 .fi
 .sp
 All the above add a comment to the Bugzilla bug record of the form:
 .sp
 .nf
-.ft C
+.ft
 Changeset 3b16791d6642 in repository\-name.
 http://my\-project.org/hg/repository\-name/rev/3b16791d6642
 
 Changeset commit comment. Bug 1234.
-.ft P
+.ft
 .fi
 .SS censor
 .sp
@@ -9131,14 +9104,14 @@
 Typical uses for censor are due to security or legal requirements, including:
 .sp
 .nf
-.ft C
+.ft
 * Passwords, private keys, cryptographic material
 * Licensed data/code/libraries for which the license has expired
 * Personally Identifiable Information or other private data
-.ft P
+.ft
 .fi
 .sp
-Censored nodes can interrupt mercurial\(aqs typical operation whenever the excised
+Censored nodes can interrupt mercurial's typical operation whenever the excised
 data needs to be materialized. Some commands, like \fBhg cat\fP/\fBhg revert\fP,
 simply fail when asked to produce censored data. Others, like \fBhg verify\fP and
 \fBhg update\fP, must be capable of tolerating censored data to continue to
@@ -9148,13 +9121,13 @@
 .SS censor
 .sp
 .nf
-.ft C
+.ft
 hg censor \-r REV [\-t TEXT] [FILE]
-.ft P
+.ft
 .fi
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-r,  \-\-rev \ <REV>
 .
@@ -9163,42 +9136,42 @@
 .BI \-t,  \-\-tombstone \ <TEXT>
 .
 replacement tombstone data
-.UNINDENT
+.RE
 .SS chgserver
 .sp
 command server extension for cHg (EXPERIMENTAL)
-.INDENT 0.0
+.RS 0
 .TP
-.B \(aqS\(aq channel (read/write)
+.B \&'S' channel (read/write)
 .
 propagate ui.system() request to client
 .TP
-.B \(aqattachio\(aq command
+.B \&'attachio' command
 .
-attach client\(aqs stdio passed by sendmsg()
+attach client's stdio passed by sendmsg()
 .TP
-.B \(aqchdir\(aq command
+.B \&'chdir' command
 .
 change current directory
 .TP
-.B \(aqgetpager\(aq command
+.B \&'getpager' command
 .
 checks if pager is enabled and which pager should be executed
 .TP
-.B \(aqsetenv\(aq command
+.B \&'setenv' command
 .
 replace os.environ completely
 .TP
-.B \(aqSIGHUP\(aq signal
+.B \&'SIGHUP' signal
 .
 reload configuration files
-.UNINDENT
+.RE
 .SS children
 .sp
 command to display child changesets (DEPRECATED)
 .sp
-This extension is deprecated. You should use \%\fBhg log \-r
-"children(REV)"\fP\: instead.
+This extension is deprecated. You should use \fBhg log \-r
+"children(REV)"\fP instead.
 .SS Commands
 .SS children
 .sp
@@ -9205,30 +9178,30 @@
 show the children of the given or working directory revision:
 .sp
 .nf
-.ft C
+.ft
 hg children [\-r REV] [FILE]
-.ft P
+.ft
 .fi
 .sp
-Print the children of the working directory\(aqs revisions. If a
+Print the children of the working directory's revisions. If a
 revision is given via \-r/\-\-rev, the children of that revision will
 be printed. If a file argument is given, revision in which the
 file was last changed (after the working directory revision or the
 argument to \-\-rev if given) is printed.
 .sp
-Please use \%\fBhg log\fP\: instead:
+Please use \fBhg log\fP instead:
 .sp
 .nf
-.ft C
-hg children => hg log \-r \(aqchildren()\(aq
-hg children \-r REV => hg log \-r \(aqchildren(REV)\(aq
-.ft P
+.ft
+hg children => hg log \-r 'children()'
+hg children \-r REV => hg log \-r 'children(REV)'
+.ft
 .fi
 .sp
-See \%\fBhg help log\fP\: and \%\fBhg help revsets.children\fP\:.
+See \fBhg help log\fP and \fBhg help revsets.children\fP.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-r,  \-\-rev \ <REV>
 .
@@ -9241,7 +9214,7 @@
 .BI \-T,  \-\-template \ <TEMPLATE>
 .
 display with template
-.UNINDENT
+.RE
 .SS churn
 .sp
 command to display statistics about repository history
@@ -9251,9 +9224,9 @@
 histogram of changes to the repository:
 .sp
 .nf
-.ft C
+.ft
 hg churn [\-d DATE] [\-r REV] [\-\-aliases FILE] [FILE]
-.ft P
+.ft
 .fi
 .sp
 This command will display a histogram representing the number
@@ -9269,7 +9242,7 @@
 Examples:
 .sp
 .nf
-.ft C
+.ft
 # display count of changed lines for every committer
 hg churn \-t "{author|email}"
 
@@ -9281,7 +9254,7 @@
 
 # display count of lines changed in every year
 hg churn \-f "%Y" \-s
-.ft P
+.ft
 .fi
 .sp
 It is possible to map alternate email addresses to a main address
@@ -9288,9 +9261,9 @@
 by providing a file using the following format:
 .sp
 .nf
-.ft C
+.ft
 <alias email> = <actual email>
-.ft P
+.ft
 .fi
 .sp
 Such a file may be specified with the \-\-aliases option, otherwise
@@ -9298,7 +9271,7 @@
 Aliases will be split from the rightmost "=".
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-r,  \-\-rev \ <REV[+]>
 .
@@ -9343,7 +9316,7 @@
 .BI \-X,  \-\-exclude \ <PATTERN[+]>
 .
 exclude names matching the given patterns
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS clonebundles
@@ -9356,7 +9329,7 @@
 resources on the server.
 .sp
 Cloning can be a CPU and I/O intensive operation on servers. Traditionally,
-the server, in response to a client\(aqs request to clone, dynamically generates
+the server, in response to a client's request to clone, dynamically generates
 a bundle containing the entire repository content and sends it to the client.
 There is no caching on the server and the server will have to redundantly
 generate the same outgoing bundle in response to each clone request. For
@@ -9364,8 +9337,8 @@
 clones can make scaling the server challenging and costly.
 .sp
 This extension provides server operators the ability to offload potentially
-expensive clone load to an external service. Here\(aqs how it works.
-.INDENT 0.0
+expensive clone load to an external service. Here's how it works.
+.RS 0
 .IP 1. 3
 .
 A server operator establishes a mechanism for making bundle files available
@@ -9392,10 +9365,10 @@
 .IP 7. 3
 .
 The client reconnects to the original server and performs the equivalent
-of \%\fBhg pull\fP\: to retrieve all repository data not in the bundle. (The
+of \fBhg pull\fP to retrieve all repository data not in the bundle. (The
 repository could have been updated between when the bundle was created
 and when the client started the clone.)
-.UNINDENT
+.RE
 .sp
 Instead of the server generating full repository bundles for every clone
 request, it generates full bundles once and they are subsequently reused to
@@ -9405,7 +9378,7 @@
 clones to less than 1% of original.
 .sp
 To work, this extension requires the following of server operators:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 Generating bundle files of repository content (typically periodically,
@@ -9419,23 +9392,23 @@
 .
 A process for keeping the bundles manifest in sync with available bundle
 files.
-.UNINDENT
+.RE
 .sp
-Strictly speaking, using a static file hosting server isn\(aqt required: a server
+Strictly speaking, using a static file hosting server isn't required: a server
 operator could use a dynamic service for retrieving bundle data. However,
 static file hosting services are simple and scalable and should be sufficient
 for most needs.
 .sp
-Bundle files can be generated with the \%\fBhg bundle\fP\: command. Typically
-\%\fBhg bundle \-\-all\fP\: is used to produce a bundle of the entire repository.
+Bundle files can be generated with the \fBhg bundle\fP command. Typically
+\fBhg bundle \-\-all\fP is used to produce a bundle of the entire repository.
 .sp
-\%\fBhg debugcreatestreamclonebundle\fP\: can be used to produce a special
+\fBhg debugcreatestreamclonebundle\fP can be used to produce a special
 \fIstreaming clone bundle\fP. These are bundle files that are extremely efficient
 to produce and consume (read: fast). However, they are larger than
 traditional bundle formats and require that clients support the exact set
 of repository data store formats in use by the repository that created them.
 Typically, a newer server can serve data that is compatible with older clients.
-However, \fIstreaming clone bundles\fP don\(aqt have this guarantee. \fBServer
+However, \fIstreaming clone bundles\fP don't have this guarantee. \fBServer
 operators need to be aware that newer versions of Mercurial may produce
 streaming clone bundles incompatible with older Mercurial versions.\fP
 .sp
@@ -9448,12 +9421,12 @@
 ) delimited list of entries.
 .sp
 Each line in this file defines an available bundle. Lines have the format:
-.INDENT 0.0
-.INDENT 3.5
+.RS 0
+.RS 3
 .sp
 <URL> [<key>=<value>[ <key>=<value>]]
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .sp
 That is, a URL followed by an optional, space\-delimited list of key=value
 pairs describing additional properties of this bundle. Both keys and values
@@ -9466,7 +9439,7 @@
 data center closest to them.
 .sp
 The following reserved keys are currently defined:
-.INDENT 0.0
+.RS 0
 .TP
 .B BUNDLESPEC
 .
@@ -9473,21 +9446,21 @@
 A "bundle specification" string that describes the type of the bundle.
 .sp
 These are string values that are accepted by the "\-\-type" argument of
-\%\fBhg bundle\fP\:.
+\fBhg bundle\fP.
 .sp
 The values are parsed in strict mode, which means they must be of the
 "<compression>\-<type>" form. See
 mercurial.exchange.parsebundlespec() for more details.
 .sp
-\%\fBhg debugbundle \-\-spec\fP\: can be used to print the bundle specification
+\fBhg debugbundle \-\-spec\fP can be used to print the bundle specification
 string for a bundle file. The output of this command can be used verbatim
 for the value of \fBBUNDLESPEC\fP (it is already escaped).
 .sp
 Clients will automatically filter out specifications that are unknown or
-unsupported so they won\(aqt attempt to download something that likely won\(aqt
+unsupported so they won't attempt to download something that likely won't
 apply.
 .sp
-The actual value doesn\(aqt impact client behavior beyond filtering:
+The actual value doesn't impact client behavior beyond filtering:
 clients will still sniff the bundle type from the header of downloaded
 files.
 .sp
@@ -9509,10 +9482,10 @@
 with the clonebundles facility.
 .sp
 Value should be "true".
-.UNINDENT
+.RE
 .sp
 Manifests can contain multiple entries. Assuming metadata is defined, clients
-will filter entries from the manifest that they don\(aqt support. The remaining
+will filter entries from the manifest that they don't support. The remaining
 entries are optionally sorted by client preferences
 (\fBexperimental.clonebundleprefers\fP config option). The client then attempts
 to fetch the bundle at the first URL in the remaining list.
@@ -9522,7 +9495,7 @@
 for this is that if a server is using clone bundles, it is probably doing so
 because the feature is necessary to help it scale. In other words, there
 is an assumption that clone load will be offloaded to another service and
-that the Mercurial server isn\(aqt responsible for serving this clone load.
+that the Mercurial server isn't responsible for serving this clone load.
 If that other service experiences issues and clients start mass falling back to
 the original Mercurial server, the added clone load could overwhelm the server
 due to unexpected load and effectively take it offline. Not having clients
@@ -9555,10 +9528,10 @@
 available, then effects are rendered with the ECMA\-48 SGR control
 function (aka ANSI escape codes).
 .sp
-The available effects in terminfo mode are \(aqblink\(aq, \(aqbold\(aq, \(aqdim\(aq,
-\(aqinverse\(aq, \(aqinvisible\(aq, \(aqitalic\(aq, \(aqstandout\(aq, and \(aqunderline\(aq; in
-ECMA\-48 mode, the options are \(aqbold\(aq, \(aqinverse\(aq, \(aqitalic\(aq, and
-\(aqunderline\(aq.  How each is rendered depends on the terminal emulator.
+The available effects in terminfo mode are 'blink', 'bold', 'dim',
+\&'inverse', 'invisible', 'italic', 'standout', and 'underline'; in
+ECMA\-48 mode, the options are 'bold', 'inverse', 'italic', and
+\&'underline'.  How each is rendered depends on the terminal emulator.
 Some may not be available for a given terminal type, and will be
 silently ignored.
 .SS Labels
@@ -9565,8 +9538,8 @@
 .sp
 Text receives color effects depending on the labels that it has. Many
 default Mercurial commands emit labelled text. You can also define
-your own labels in templates using the label function, see \%\fBhg help
-templates\fP\:. A single portion of text may have more than one label. In
+your own labels in templates using the label function, see \fBhg help
+templates\fP. A single portion of text may have more than one label. In
 that case, effects given to the last label will override any other
 effects. This includes the special "none" effect, which nullifies
 other effects.
@@ -9574,18 +9547,18 @@
 Labels are normally invisible. In order to see these labels and their
 position in the text, use the global \-\-color=debug option. The same
 anchor text may be associated to multiple labels, e.g.
-.INDENT 0.0
-.INDENT 3.5
+.RS 0
+.RS 3
 .sp
 [log.changeset changeset.secret|changeset:   22611:6f0a53c8f587]
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .sp
 The following are the default effects for some default labels. Default
 effects may be overridden from your configuration file:
 .sp
 .nf
-.ft C
+.ft
 [color]
 status.modified = blue bold underline red_background
 status.added = green bold
@@ -9594,7 +9567,7 @@
 status.unknown = magenta bold underline
 status.ignored = black bold
 
-# \(aqnone\(aq turns off all effects
+# 'none' turns off all effects
 status.clean = none
 status.copied = none
 
@@ -9639,7 +9612,7 @@
 shelve.name = blue bold
 
 histedit.remaining = red bold
-.ft P
+.ft
 .fi
 .SS Custom colors
 .sp
@@ -9648,18 +9621,18 @@
 for your terminal type, assuming terminfo mode.  For instance:
 .sp
 .nf
-.ft C
+.ft
 color.brightblue = 12
 color.pink = 207
 color.orange = 202
-.ft P
+.ft
 .fi
 .sp
-to set \(aqbrightblue\(aq to color slot 12 (useful for 16 color terminals
-that have brighter colors defined in the upper eight) and, \(aqpink\(aq and
-\(aqorange\(aq to colors in 256\-color xterm\(aqs default color cube.  These
+to set 'brightblue' to color slot 12 (useful for 16 color terminals
+that have brighter colors defined in the upper eight) and, 'pink' and
+\&'orange' to colors in 256\-color xterm's default color cube.  These
 defined colors may then be used as any of the pre\-defined eight,
-including appending \(aq_background\(aq to set the background to that color.
+including appending '_background' to set the background to that color.
 .SS Modes
 .sp
 By default, the color extension will use ANSI mode (or win32 mode on
@@ -9667,19 +9640,19 @@
 terminfo mode, for example), set the following configuration option:
 .sp
 .nf
-.ft C
+.ft
 [color]
 mode = terminfo
-.ft P
+.ft
 .fi
 .sp
-Any value other than \(aqansi\(aq, \(aqwin32\(aq, \(aqterminfo\(aq, or \(aqauto\(aq will
+Any value other than 'ansi', 'win32', 'terminfo', or 'auto' will
 disable color.
 .sp
 Note that on some systems, terminfo mode may cause problems when using
 color with the pager extension and less \-R. less with the \-R option
 will only display ECMA\-48 color codes, and terminfo mode may sometimes
-emit codes that less doesn\(aqt understand. You can work around this by
+emit codes that less doesn't understand. You can work around this by
 either using ansi mode (or auto mode), or by using less \-r (which will
 pass through all terminal control codes, not just color control
 codes).
@@ -9690,11 +9663,11 @@
 the pager is active:
 .sp
 .nf
-.ft C
+.ft
 [color]
 mode = auto
 pagermode = ansi
-.ft P
+.ft
 .fi
 .sp
 If \fBpagermode\fP is not defined, the \fBmode\fP will be used.
@@ -9708,13 +9681,13 @@
 convert a foreign SCM repository to a Mercurial one.:
 .sp
 .nf
-.ft C
+.ft
 hg convert [OPTION]... SOURCE [DEST [REVMAP]]
-.ft P
+.ft
 .fi
 .sp
 Accepted source formats [identifiers]:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 Mercurial [hg]
@@ -9742,10 +9715,10 @@
 .IP \(bu 2
 .
 Perforce [p4]
-.UNINDENT
+.RE
 .sp
 Accepted destination formats [identifiers]:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 Mercurial [hg]
@@ -9752,7 +9725,7 @@
 .IP \(bu 2
 .
 Subversion [svn] (history on branches is not preserved)
-.UNINDENT
+.RE
 .sp
 If no revision is given, all revisions will be converted.
 Otherwise, convert will only import up to the named revision
@@ -9760,12 +9733,12 @@
 .sp
 If no destination directory name is specified, it defaults to the
 basename of the source with \fB\-hg\fP appended. If the destination
-repository doesn\(aqt exist, it will be created.
+repository doesn't exist, it will be created.
 .sp
 By default, all sources except Mercurial will use \-\-branchsort.
 Mercurial uses \-\-sourcesort to preserve original revision numbers
 order. Sort modes have the following effects:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-\-branchsort
 .
@@ -9790,21 +9763,21 @@
 try to move closed revisions as close as possible
 to parent branches, only supported by Mercurial
 sources.
-.UNINDENT
+.RE
 .sp
-If \fBREVMAP\fP isn\(aqt given, it will be put in a default location
+If \fBREVMAP\fP isn't given, it will be put in a default location
 (\fB<dest>/.hg/shamap\fP by default). The \fBREVMAP\fP is a simple
 text file that maps each source commit ID to the destination ID
 for that revision, like so:
 .sp
 .nf
-.ft C
+.ft
 <source ID> <destination ID>
-.ft P
+.ft
 .fi
 .sp
-If the file doesn\(aqt exist, it\(aqs automatically created. It\(aqs
-updated on each commit copied, so \%\fBhg convert\fP\: can be interrupted
+If the file doesn't exist, it's automatically created. It's
+updated on each commit copied, so \fBhg convert\fP can be interrupted
 and can be run repeatedly to copy new commits.
 .sp
 The authormap is a simple text file that maps each source commit
@@ -9813,9 +9786,9 @@
 author mapping and the line format is:
 .sp
 .nf
-.ft C
+.ft
 source author = destination author
-.ft P
+.ft
 .fi
 .sp
 Empty lines and lines starting with a \fB#\fP are ignored.
@@ -9825,13 +9798,13 @@
 directives:
 .sp
 .nf
-.ft C
+.ft
 include path/to/file\-or\-dir
 
 exclude path/to/file\-or\-dir
 
 rename path/to/source path/to/destination
-.ft P
+.ft
 .fi
 .sp
 Comment lines start with \fB#\fP. A specified path matches if it
@@ -9864,9 +9837,9 @@
 comma\-separated values:
 .sp
 .nf
-.ft C
+.ft
 key parent1, parent2
-.ft P
+.ft
 .fi
 .sp
 The key is the revision ID in the source
@@ -9886,9 +9859,9 @@
 lines of the form:
 .sp
 .nf
-.ft C
+.ft
 original_branch_name new_branch_name
-.ft P
+.ft
 .fi
 .sp
 where "original_branch_name" is the name of the branch in the
@@ -9900,7 +9873,7 @@
 .sp
 The Mercurial source recognizes the following configuration
 options, which you can set on the command line with \fB\-\-config\fP:
-.INDENT 0.0
+.RS 0
 .TP
 .B convert.hg.ignoreerrors
 .
@@ -9922,7 +9895,7 @@
 .B convert.hg.revs
 .
 revset specifying the source revisions to convert.
-.UNINDENT
+.RE
 .SS CVS Source
 .sp
 CVS source will use a sandbox (i.e. a checked\-out copy) from CVS
@@ -9936,7 +9909,7 @@
 sandbox is ignored.
 .sp
 The following options can be used with \fB\-\-config\fP:
-.INDENT 0.0
+.RS 0
 .TP
 .B convert.cvsps.cache
 .
@@ -9987,7 +9960,7 @@
 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.
-.UNINDENT
+.RE
 .sp
 An additional "debugcvsps" Mercurial command allows the builtin
 changeset merging code to be run without doing a conversion. Its
@@ -10007,7 +9980,7 @@
 detection.
 .sp
 The following options can be set with \fB\-\-config\fP:
-.INDENT 0.0
+.RS 0
 .TP
 .B convert.svn.branches
 .
@@ -10029,28 +10002,28 @@
 use local time (as determined by the TZ
 environment variable) for changeset date/times. The default
 is False (use UTC).
-.UNINDENT
+.RE
 .sp
 Source history can be retrieved starting at a specific revision,
 instead of being integrally converted. Only single branch
 conversions are supported.
-.INDENT 0.0
+.RS 0
 .TP
 .B convert.svn.startrev
 .
 specify start Subversion revision number.
 The default is 0.
-.UNINDENT
+.RE
 .SS Git Source
 .sp
 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 \(aqrefs/heads\(aq stripped. Git submodules are converted to Git
+leading 'refs/heads' stripped. Git submodules are converted to Git
 subrepos in Mercurial.
 .sp
 The following options can be set with \fB\-\-config\fP:
-.INDENT 0.0
+.RS 0
 .TP
 .B convert.git.similarity
 .
@@ -10058,7 +10031,7 @@
 commit must be to be imported as renames or copies, as a
 percentage between \fB0\fP (disabled) and \fB100\fP (files must be
 identical). For example, \fB90\fP means that a delete/add pair will
-be imported as a rename if more than 90% of the file hasn\(aqt
+be imported as a rename if more than 90% of the file hasn't
 changed. The default is \fB50\fP.
 .TP
 .B convert.git.findcopiesharder
@@ -10072,13 +10045,13 @@
 .
 remote refs are converted as bookmarks with
 \fBconvert.git.remoteprefix\fP as a prefix followed by a /. The default
-is \(aqremote\(aq.
+is 'remote'.
 .TP
 .B convert.git.skipsubmodules
 .
 does not convert root level .gitmodules files
 or files with 160000 mode indicating a submodule. Default is False.
-.UNINDENT
+.RE
 .SS Perforce Source
 .sp
 The Perforce (P4) importer can be given a p4 depot path or a
@@ -10089,7 +10062,7 @@
 target may be named \fB...\-hg\fP.
 .sp
 The following options can be set with \fB\-\-config\fP:
-.INDENT 0.0
+.RS 0
 .TP
 .B convert.p4.encoding
 .
@@ -10101,7 +10074,7 @@
 .
 specify initial Perforce revision (a
 Perforce changelist number).
-.UNINDENT
+.RE
 .SS Mercurial Destination
 .sp
 The Mercurial destination will recognize Mercurial subrepositories in the
@@ -10113,7 +10086,7 @@
 An example showing how to convert a repository with subrepositories:
 .sp
 .nf
-.ft C
+.ft
 # so convert knows the type when it sees a non empty destination
 $ hg init converted
 
@@ -10120,11 +10093,11 @@
 $ hg convert orig/sub1 converted/sub1
 $ hg convert orig/sub2 converted/sub2
 $ hg convert orig converted
-.ft P
+.ft
 .fi
 .sp
 The following options are supported:
-.INDENT 0.0
+.RS 0
 .TP
 .B convert.hg.clonebranches
 .
@@ -10143,22 +10116,22 @@
 .TP
 .B convert.hg.sourcename
 .
-records the given string as a \(aqconvert_source\(aq extra
+records the given string as a 'convert_source' extra
 value on each commit made in the target repository. The default is None.
-.UNINDENT
+.RE
 .SS All Destinations
 .sp
 All destination types accept the following options:
-.INDENT 0.0
+.RS 0
 .TP
 .B convert.skiptags
 .
 does not convert tags from the source repo to the target
 repo. The default is False.
-.UNINDENT
+.RE
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-\-authors \ <FILE>
 .
@@ -10211,7 +10184,7 @@
 .B \-\-closesort
 .
 try to reorder closed revisions
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS eol
@@ -10225,7 +10198,7 @@
 .sp
 The extension reads its configuration from a versioned \fB.hgeol\fP
 configuration file found in the root of the working directory. The
-\fB.hgeol\fP file use the same syntax as all other Mercurial
+\fB\&.hgeol\fP file use the same syntax as all other Mercurial
 configuration files. It uses two sections, \fB[patterns]\fP and
 \fB[repository]\fP.
 .sp
@@ -10238,9 +10211,9 @@
 Files with the declared format of \fBCRLF\fP or \fBLF\fP are always
 checked out and stored in the repository in that format and files
 declared to be binary (\fBBIN\fP) are left unchanged. Additionally,
-\fBnative\fP is an alias for checking out in the platform\(aqs default line
+\fBnative\fP is an alias for checking out in the platform's default line
 ending: \fBLF\fP on Unix (including Mac OS X) and \fBCRLF\fP on
-Windows. Note that \fBBIN\fP (do nothing to line endings) is Mercurial\(aqs
+Windows. Note that \fBBIN\fP (do nothing to line endings) is Mercurial's
 default behavior; it is only needed if you need to override a later,
 more general pattern.
 .sp
@@ -10257,7 +10230,7 @@
 Example versioned \fB.hgeol\fP file:
 .sp
 .nf
-.ft C
+.ft
 [patterns]
 **.py = native
 **.vcproj = CRLF
@@ -10267,7 +10240,7 @@
 
 [repository]
 native = LF
-.ft P
+.ft
 .fi
 .IP Note
 .
@@ -10279,12 +10252,12 @@
 normal Mercurial configuration files and the \fB.hgeol\fP file, with the
 latter overriding the former. You can use that section to control the
 overall behavior. There are three settings:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 \fBeol.native\fP (default \fBos.linesep\fP) can be set to \fBLF\fP or
 \fBCRLF\fP to override the default interpretation of \fBnative\fP for
-checkout. This can be used with \%\fBhg archive\fP\: on Unix, say, to
+checkout. This can be used with \fBhg archive\fP on Unix, say, to
 generate an archive where files have line endings for Windows.
 .IP \(bu 2
 .
@@ -10298,7 +10271,7 @@
 \fBeol.fix\-trailing\-newline\fP (default False) can be set to True to
 ensure that converted files end with a EOL character (either \fB\en\fP
 or \fB\er\en\fP as per the configured patterns).
-.UNINDENT
+.RE
 .sp
 The extension provides \fBcleverencode:\fP and \fBcleverdecode:\fP filters
 like the deprecated win32text extension does. This means that you can
@@ -10314,7 +10287,7 @@
 \fBeol.checkallhook\fP hook. These hooks are best used as
 \fBpretxnchangegroup\fP hooks.
 .sp
-See \%\fBhg help patterns\fP\: for more information about the glob patterns
+See \fBhg help patterns\fP for more information about the glob patterns
 used.
 .SS extdiff
 .sp
@@ -10327,12 +10300,12 @@
 files to compare.
 .sp
 The extdiff extension also allows you to configure new diff commands, so
-you do not need to type \%\fBhg extdiff \-p kdiff3\fP\: always.
+you do not need to type \fBhg extdiff \-p kdiff3\fP always.
 .sp
 .nf
-.ft C
+.ft
 [extdiff]
-# add new command that runs GNU diff(1) in \(aqcontext diff\(aq mode
+# add new command that runs GNU diff(1) in 'context diff' mode
 cdiff = gdiff \-Nprc5
 ## or the old way:
 #cmd.cdiff = gdiff
@@ -10348,20 +10321,20 @@
 # English user, be sure to put "let g:DirDiffDynamicDiffText = 1" in
 # your .vimrc
 vimdiff = gvim \-f "+next" \e
-          "+execute \(aqDirDiff\(aq fnameescape(argv(0)) fnameescape(argv(1))"
-.ft P
+          "+execute 'DirDiff' fnameescape(argv(0)) fnameescape(argv(1))"
+.ft
 .fi
 .sp
 Tool arguments can include variables that are expanded at runtime:
 .sp
 .nf
-.ft C
+.ft
 $parent1, $plabel1 \- filename, descriptive label of first parent
 $child,   $clabel  \- filename, descriptive label of child revision
 $parent2, $plabel2 \- filename, descriptive label of second parent
 $root              \- repository root
 $parent is an alias for $parent1.
-.ft P
+.ft
 .fi
 .sp
 The extdiff extension will look in your [diff\-tools] and [merge\-tools]
@@ -10368,17 +10341,17 @@
 sections for diff tool arguments, when none are specified in [extdiff].
 .sp
 .nf
-.ft C
+.ft
 [extdiff]
 kdiff3 =
 
 [diff\-tools]
-kdiff3.diffargs=\-\-L1 \(aq$plabel1\(aq \-\-L2 \(aq$clabel\(aq $parent $child
-.ft P
+kdiff3.diffargs=\-\-L1 '$plabel1' \-\-L2 '$clabel' $parent $child
+.ft
 .fi
 .sp
 You can use \-I/\-X and list of file or directory names like normal
-\%\fBhg diff\fP\: command. The extdiff extension makes snapshots of only
+\fBhg diff\fP command. The extdiff extension makes snapshots of only
 needed files, so running the external diff program will actually be
 pretty fast (at least faster than having to compare the entire tree).
 .SS Commands
@@ -10387,9 +10360,9 @@
 use external program to diff repository (or selected files):
 .sp
 .nf
-.ft C
+.ft
 hg extdiff [OPT]... [FILE]...
-.ft P
+.ft
 .fi
 .sp
 Show differences between revisions for the specified files, using
@@ -10408,7 +10381,7 @@
 to its parent.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-p,  \-\-program \ <CMD>
 .
@@ -10441,7 +10414,7 @@
 .B \-S,  \-\-subrepos
 .
 recurse into subrepositories
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS factotum
@@ -10457,9 +10430,9 @@
 By default, keys are specified as:
 .sp
 .nf
-.ft C
+.ft
 proto=pass service=hg prefix=<prefix> user=<username> !password=<password>
-.ft P
+.ft
 .fi
 .sp
 If the factotum extension is unable to read the required key, one will be
@@ -10469,12 +10442,12 @@
 default, these entries are:
 .sp
 .nf
-.ft C
+.ft
 [factotum]
 executable = /bin/auth/factotum
 mountpoint = /mnt/factotum
 service = hg
-.ft P
+.ft
 .fi
 .sp
 The executable entry defines the full path to the factotum binary. The
@@ -10489,9 +10462,9 @@
 pull changes from a remote repository, merge new changes if needed.:
 .sp
 .nf
-.ft C
+.ft
 hg fetch [SOURCE]
-.ft P
+.ft
 .fi
 .sp
 This finds all changes from the repository at the specified path
@@ -10506,12 +10479,12 @@
 the newly pulled changes. Local changes are then merged into the
 pulled changes. To switch the merge order, use \-\-switch\-parent.
 .sp
-See \%\fBhg help dates\fP\: for a list of formats valid for \-d/\-\-date.
+See \fBhg help dates\fP for a list of formats valid for \-d/\-\-date.
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-r,  \-\-rev \ <REV[+]>
 .
@@ -10556,7 +10529,7 @@
 .B \-\-insecure
 .
 do not verify server certificate (ignoring web.cacerts config)
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS gpg
@@ -10568,9 +10541,9 @@
 verify all the signatures there may be for a particular revision:
 .sp
 .nf
-.ft C
+.ft
 hg sigcheck REV
-.ft P
+.ft
 .fi
 .sp
 verify all the signatures there may be for a particular revision
@@ -10579,9 +10552,9 @@
 add a signature for the current or given revision:
 .sp
 .nf
-.ft C
+.ft
 hg sign [OPTION]... [REV]...
-.ft P
+.ft
 .fi
 .sp
 If no revision is given, the parent of the working directory is used,
@@ -10590,10 +10563,10 @@
 The \fBgpg.cmd\fP config setting can be used to specify the command
 to run. A default key can be specified with \fBgpg.key\fP.
 .sp
-See \%\fBhg help dates\fP\: for a list of formats valid for \-d/\-\-date.
+See \fBhg help dates\fP for a list of formats valid for \-d/\-\-date.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-l,  \-\-local
 .
@@ -10626,15 +10599,15 @@
 .BI \-u,  \-\-user \ <USER>
 .
 record the specified user as committer
-.UNINDENT
+.RE
 .SS sigs
 .sp
 list signed changesets:
 .sp
 .nf
-.ft C
+.ft
 hg sigs
-.ft P
+.ft
 .fi
 .sp
 list signed changesets
@@ -10643,7 +10616,7 @@
 command to view revision graphs from a shell (DEPRECATED)
 .sp
 The functionality of this extension has been include in core Mercurial
-since version 2.3. Please use \%\fBhg log \-G ...\fP\: instead.
+since version 2.3. Please use \fBhg log \-G ...\fP instead.
 .sp
 This extension adds a \-\-graph option to the incoming, outgoing and log
 commands. When this options is given, an ASCII representation of the
@@ -10654,9 +10627,9 @@
 show revision history alongside an ASCII revision graph:
 .sp
 .nf
-.ft C
+.ft
 hg glog [OPTION]... [FILE]
-.ft P
+.ft
 .fi
 .sp
 Print a revision history alongside a revision graph drawn with
@@ -10665,10 +10638,10 @@
 Nodes printed as an @ character are parents of the working
 directory.
 .sp
-This is an alias to \%\fBhg log \-G\fP\:.
+This is an alias to \fBhg log \-G\fP.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-f,  \-\-follow
 .
@@ -10757,7 +10730,7 @@
 .BI \-X,  \-\-exclude \ <PATTERN[+]>
 .
 exclude names matching the given patterns
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS hgcia
@@ -10768,7 +10741,7 @@
 configure it, set the following options in your hgrc:
 .sp
 .nf
-.ft C
+.ft
 [cia]
 # your registered CIA user name
 user = foo
@@ -10800,7 +10773,7 @@
 [web]
 # If you want hyperlinks (optional)
 baseurl = http://server/path/to/repo
-.ft P
+.ft
 .fi
 .SS hgk
 .sp
@@ -10812,19 +10785,18 @@
 .sp
 hgk consists of two parts: a Tcl script that does the displaying and
 querying of information, and an extension to Mercurial named hgk.py,
-which provides hooks for hgk to get information. hgk can be found in
-the contrib directory, and the extension is shipped in the hgext
-repository, and needs to be enabled.
+which provides hooks for hgk to get information.
 .sp
-The \%\fBhg view\fP\: command will launch the hgk Tcl script. For this command
-to work, hgk must be in your search path. Alternately, you can specify
-the path to hgk in your configuration file:
+The \fBhg view\fP command will launch the hgk Tcl script. The script is
+shipped in /usr/demo/mercurial, and hgk needs no configuration to find
+it.  You can specify the path to an alternate hgk in your configuration
+file:
 .sp
 .nf
-.ft C
+.ft
 [hgk]
 path = /location/of/hgk
-.ft P
+.ft
 .fi
 .sp
 hgk can make use of the extdiff extension to visualize revisions.
@@ -10831,10 +10803,10 @@
 Assuming you had already configured extdiff vdiff command, just add:
 .sp
 .nf
-.ft C
+.ft
 [hgk]
 vdiff=vdiff
-.ft P
+.ft
 .fi
 .sp
 Revisions context menu will now display additional entries to fire
@@ -10845,36 +10817,36 @@
 start interactive history viewer:
 .sp
 .nf
-.ft C
+.ft
 hg view [\-l LIMIT] [REVRANGE]
-.ft P
+.ft
 .fi
 .sp
 start interactive history viewer
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-l,  \-\-limit \ <NUM>
 .
 limit number of changes displayed
-.UNINDENT
+.RE
 .SS highlight
 .sp
 syntax highlighting for hgweb (requires Pygments)
 .sp
 It depends on the Pygments syntax highlighting library:
-\%http://pygments.org/\:
+http://pygments.org/
 .sp
 There are the following configuration options:
 .sp
 .nf
-.ft C
+.ft
 [web]
 pygments_style = <style> (default: colorful)
-highlightfiles = <fileset> (default: size(\(aq<5M\(aq))
+highlightfiles = <fileset> (default: size('<5M'))
 highlightonlymatchfilename = <bool> (default False)
-.ft P
+.ft
 .fi
 .sp
 \fBhighlightonlymatchfilename\fP will only highlight files if their type could
@@ -10889,7 +10861,7 @@
 is as follows, assuming the following history:
 .sp
 .nf
-.ft C
+.ft
 @  3[tip]   7c2fd3b9020c   2009\-04\-27 18:04 \-0500   durin42
 |    Add delta
 |
@@ -10901,7 +10873,7 @@
 |
 o  0   d8d2fcd0e319   2009\-04\-27 18:04 \-0500   durin42
      Add alpha
-.ft P
+.ft
 .fi
 .sp
 If you were to run \fBhg histedit c561b4e977df\fP, you would see the following
@@ -10908,7 +10880,7 @@
 file open in your editor:
 .sp
 .nf
-.ft C
+.ft
 pick c561b4e977df Add beta
 pick 030b686bedc4 Add gamma
 pick 7c2fd3b9020c Add delta
@@ -10921,11 +10893,11 @@
 #  p, pick = use commit
 #  e, edit = use commit, but stop for amending
 #  f, fold = use commit, but combine it with the one above
-#  r, roll = like fold, but discard this commit\(aqs description
+#  r, roll = like fold, but discard this commit's description
 #  d, drop = remove commit from history
 #  m, mess = edit commit message without changing commit content
 #
-.ft P
+.ft
 .fi
 .sp
 In this file, lines beginning with \fB#\fP are ignored. You must specify a rule
@@ -10934,7 +10906,7 @@
 would reorganize the file to look like this:
 .sp
 .nf
-.ft C
+.ft
 pick 030b686bedc4 Add gamma
 pick c561b4e977df Add beta
 fold 7c2fd3b9020c Add delta
@@ -10947,11 +10919,11 @@
 #  p, pick = use commit
 #  e, edit = use commit, but stop for amending
 #  f, fold = use commit, but combine it with the one above
-#  r, roll = like fold, but discard this commit\(aqs description
+#  r, roll = like fold, but discard this commit's description
 #  d, drop = remove commit from history
 #  m, mess = edit commit message without changing commit content
 #
-.ft P
+.ft
 .fi
 .sp
 At which point you close the editor and \fBhistedit\fP starts working. When you
@@ -10959,21 +10931,21 @@
 those revisions together, offering you a chance to clean up the commit message:
 .sp
 .nf
-.ft C
+.ft
 Add beta
 ***
 Add delta
-.ft P
+.ft
 .fi
 .sp
 Edit the commit message to your liking, then close the editor. For
-this example, let\(aqs assume that the commit message was changed to
+this example, let's assume that the commit message was changed to
 \fBAdd beta and delta.\fP After histedit has run and had a chance to
 remove any old or temporary revisions it needed, the history looks
 like this:
 .sp
 .nf
-.ft C
+.ft
 @  2[tip]   989b4d060121   2009\-04\-27 18:04 \-0500   durin42
 |    Add beta and delta.
 |
@@ -10982,12 +10954,12 @@
 |
 o  0   d8d2fcd0e319   2009\-04\-27 18:04 \-0500   durin42
      Add alpha
-.ft P
+.ft
 .fi
 .sp
 Note that \fBhistedit\fP does \fInot\fP remove any revisions (even its own temporary
 ones) until after it has completed all the editing operations, so it will
-probably perform several strip operations when it\(aqs done. For the above example,
+probably perform several strip operations when it's done. For the above example,
 it had to run strip twice. Strip can be slow depending on a variety of factors,
 so you might need to be a little patient. You can choose to keep the original
 revisions by passing the \fB\-\-keep\fP flag.
@@ -10994,20 +10966,20 @@
 .sp
 The \fBedit\fP operation will drop you back to a command prompt,
 allowing you to edit files freely, or even use \fBhg record\fP to commit
-some changes as a separate commit. When you\(aqre done, any remaining
+some changes as a separate commit. When you're done, any remaining
 uncommitted changes will be committed as well. When done, run \fBhg
-histedit \-\-continue\fP to finish this step. You\(aqll be prompted for a
+histedit \-\-continue\fP to finish this step. You'll be prompted for a
 new commit message, but the default commit message will be the
 original message for the \fBedit\fP ed revision.
 .sp
 The \fBmessage\fP operation will give you a chance to revise a commit
-message without changing the contents. It\(aqs a shortcut for doing
+message without changing the contents. It's a shortcut for doing
 \fBedit\fP immediately followed by \fIhg histedit \-\-continue\(ga\fP.
 .sp
 If \fBhistedit\fP encounters a conflict when moving a revision (while
-handling \fBpick\fP or \fBfold\fP), it\(aqll stop in a similar manner to
-\fBedit\fP with the difference that it won\(aqt prompt you for a commit
-message when done. If you decide at this point that you don\(aqt like how
+handling \fBpick\fP or \fBfold\fP), it'll stop in a similar manner to
+\fBedit\fP with the difference that it won't prompt you for a commit
+message when done. If you decide at this point that you don't like how
 much work it will be to rearrange history, or that you made a mistake,
 you can use \fBhg histedit \-\-abort\fP to abandon the new changes you
 have made and return to the state before you attempted to edit your
@@ -11017,7 +10989,7 @@
 changes, such that we have the following history:
 .sp
 .nf
-.ft C
+.ft
 @  6[tip]   038383181893   2009\-04\-27 18:04 \-0500   stefan
 |    Add theta
 |
@@ -11038,7 +11010,7 @@
 |
 o  0   d8d2fcd0e319   2009\-04\-27 18:04 \-0500   durin42
      Add alpha
-.ft P
+.ft
 .fi
 .sp
 If you run \fBhg histedit \-\-outgoing\fP on the clone then it is the same
@@ -11052,10 +11024,10 @@
 configuration file:
 .sp
 .nf
-.ft C
+.ft
 [histedit]
 linelen = 120      # truncate rule lines at 120 characters
-.ft P
+.ft
 .fi
 .sp
 \fBhg histedit\fP attempts to automatically choose an appropriate base
@@ -11063,10 +11035,10 @@
 revset in your configuration file:
 .sp
 .nf
-.ft C
+.ft
 [histedit]
 defaultrev = only(.) & draft()
-.ft P
+.ft
 .fi
 .sp
 By default each edited revision needs to be present in histedit commands.
@@ -11074,10 +11046,10 @@
 the drop to be implicit for missing commits by adding:
 .sp
 .nf
-.ft C
+.ft
 [histedit]
 dropmissing = True
-.ft P
+.ft
 .fi
 .SS Commands
 .SS histedit
@@ -11085,15 +11057,15 @@
 interactively edit changeset history:
 .sp
 .nf
-.ft C
+.ft
 hg histedit [OPTIONS] ([ANCESTOR] | \-\-outgoing [URL])
-.ft P
+.ft
 .fi
 .sp
 This command lets you edit a linear series of changesets (up to
 and including the working directory, which should be clean).
 You can:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 \fIpick\fP to [re]order a changeset
@@ -11108,14 +11080,14 @@
 \fIfold\fP to combine it with the preceding changeset
 .IP \(bu 2
 .
-\fIroll\fP like fold, but discarding this commit\(aqs description
+\fIroll\fP like fold, but discarding this commit's description
 .IP \(bu 2
 .
 \fIedit\fP to edit this changeset
-.UNINDENT
+.RE
 .sp
 There are a number of ways to select the root changeset:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 Specify ANCESTOR directly
@@ -11122,7 +11094,7 @@
 .IP \(bu 2
 .
 Use \-\-outgoing \-\- it will be the first linear changeset not
-included in destination. (See \%\fBhg help config.default\-push\fP\:)
+included in destination. (See \fBhg help config.default\-push\fP)
 .IP \(bu 2
 .
 Otherwise, the value from the "histedit.defaultrev" config option
@@ -11130,7 +11102,7 @@
 specified. The first revision returned by the revset is used. By
 default, this selects the editable history that is unique to the
 ancestry of the working directory.
-.UNINDENT
+.RE
 .sp
 If you use \-\-outgoing, this command will abort if there are ambiguous
 outgoing revisions. For example, if there are multiple branches
@@ -11138,13 +11110,13 @@
 .sp
 Use "min(outgoing() and ::.)" or similar revset specification
 instead of \-\-outgoing to specify edit target revision exactly in
-such ambiguous situation. See \%\fBhg help revsets\fP\: for detail about
+such ambiguous situation. See \fBhg help revsets\fP for detail about
 selecting revisions.
 .sp
 Examples:
-.INDENT 0.0
-.INDENT 3.5
-.INDENT 0.0
+.RS 0
+.RS 3
+.RS 0
 .IP \(bu 2
 .
 A number of changes have been made.
@@ -11153,9 +11125,9 @@
 Start history editing from revision 3:
 .sp
 .nf
-.ft C
+.ft
 hg histedit \-r 3
-.ft P
+.ft
 .fi
 .sp
 An editor opens, containing the list of revisions,
@@ -11162,11 +11134,11 @@
 with specific actions specified:
 .sp
 .nf
-.ft C
+.ft
 pick 5339bf82f0ca 3 Zworgle the foobar
 pick 8ef592ce7cc4 4 Bedazzle the zerlog
 pick 0a9639fcda9d 5 Morgify the cromulancy
-.ft P
+.ft
 .fi
 .sp
 Additional information about the possible actions
@@ -11174,14 +11146,14 @@
 .sp
 To remove revision 3 from the history,
 its action (at the beginning of the relevant line)
-is changed to \(aqdrop\(aq:
+is changed to 'drop':
 .sp
 .nf
-.ft C
+.ft
 drop 5339bf82f0ca 3 Zworgle the foobar
 pick 8ef592ce7cc4 4 Bedazzle the zerlog
 pick 0a9639fcda9d 5 Morgify the cromulancy
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -11191,9 +11163,9 @@
 Start history editing from revision 2:
 .sp
 .nf
-.ft C
+.ft
 hg histedit \-r 2
-.ft P
+.ft
 .fi
 .sp
 An editor opens, containing the list of revisions,
@@ -11200,11 +11172,11 @@
 with specific actions specified:
 .sp
 .nf
-.ft C
+.ft
 pick 252a1af424ad 2 Blorb a morgwazzle
 pick 5339bf82f0ca 3 Zworgle the foobar
 pick 8ef592ce7cc4 4 Bedazzle the zerlog
-.ft P
+.ft
 .fi
 .sp
 To swap revision 2 and 4, its lines are swapped
@@ -11211,15 +11183,15 @@
 in the editor:
 .sp
 .nf
-.ft C
+.ft
 pick 8ef592ce7cc4 4 Bedazzle the zerlog
 pick 5339bf82f0ca 3 Zworgle the foobar
 pick 252a1af424ad 2 Blorb a morgwazzle
-.ft P
+.ft
 .fi
-.UNINDENT
-.UNINDENT
-.UNINDENT
+.RE
+.RE
+.RE
 .sp
 Returns 0 on success, 1 if user intervention is required (not only
 for intentional "edit" command, but also for resolving unexpected
@@ -11226,7 +11198,7 @@
 conflicts).
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-\-commands \ <FILE>
 .
@@ -11242,7 +11214,7 @@
 .TP
 .B \-k,  \-\-keep
 .
-don\(aqt strip old nodes after edit is complete
+don't strip old nodes after edit is complete
 .TP
 .B \-\-abort
 .
@@ -11259,7 +11231,7 @@
 .BI \-r,  \-\-rev \ <REV[+]>
 .
 first revision to be edited
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS keyword
@@ -11282,7 +11254,7 @@
 Example:
 .sp
 .nf
-.ft C
+.ft
 [keyword]
 # expand keywords in every python file except those matching "x*"
 **.py =
@@ -11291,7 +11263,7 @@
 [keywordset]
 # prefer svn\- over cvs\-like default keywordmaps
 svn = True
-.ft P
+.ft
 .fi
 .IP Note
 .
@@ -11300,11 +11272,11 @@
 .RE
 .sp
 For [keywordmaps] template mapping and expansion demonstration and
-control run \%\fBhg kwdemo\fP\:. See \%\fBhg help templates\fP\: for a list of
+control run \fBhg kwdemo\fP. See \fBhg help templates\fP for a list of
 available templates and filters.
 .sp
 Three additional date template filters are provided:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fButcdate\fP
 .sp
@@ -11317,20 +11289,20 @@
 .B \fBsvnisodate\fP
 .sp
 "2006\-09\-18 08:13:13 \-700 (Mon, 18 Sep 2006)"
-.UNINDENT
+.RE
 .sp
-The default template mappings (view with \%\fBhg kwdemo \-d\fP\:) can be
+The default template mappings (view with \fBhg kwdemo \-d\fP) can be
 replaced with customized keywords and templates. Again, run
-\%\fBhg kwdemo\fP\: to control the results of your configuration changes.
+\fBhg kwdemo\fP to control the results of your configuration changes.
 .sp
-Before changing/disabling active keywords, you must run \%\fBhg kwshrink\fP\:
+Before changing/disabling active keywords, you must run \fBhg kwshrink\fP
 to avoid storing expanded keywords in the change history.
 .sp
 To force expansion after enabling it, or a configuration change, run
-\%\fBhg kwexpand\fP\:.
+\fBhg kwexpand\fP.
 .sp
 Expansions spanning more than one line and incremental expansions,
-like CVS\(aq $Log$, are not supported. A keyword template map "Log =
+like CVS' $Log$, are not supported. A keyword template map "Log =
 {desc}" expands to the first line of the changeset description.
 .SS Commands
 .SS kwdemo
@@ -11338,9 +11310,9 @@
 print [keywordmaps] configuration and an expansion example:
 .sp
 .nf
-.ft C
+.ft
 hg kwdemo [\-d] [\-f RCFILE] [TEMPLATEMAP]...
-.ft P
+.ft
 .fi
 .sp
 Show current, custom, or default keyword template maps and their
@@ -11351,10 +11323,10 @@
 .sp
 Use \-d/\-\-default to disable current configuration.
 .sp
-See \%\fBhg help templates\fP\: for information on templates and filters.
+See \fBhg help templates\fP for information on templates and filters.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-d,  \-\-default
 .
@@ -11363,15 +11335,15 @@
 .BI \-f,  \-\-rcfile \ <FILE>
 .
 read maps from rcfile
-.UNINDENT
+.RE
 .SS kwexpand
 .sp
 expand keywords in the working directory:
 .sp
 .nf
-.ft C
+.ft
 hg kwexpand [OPTION]... [FILE]...
-.ft P
+.ft
 .fi
 .sp
 Run after (re)enabling keyword expansion.
@@ -11379,7 +11351,7 @@
 kwexpand refuses to run if given files contain local changes.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-I,  \-\-include \ <PATTERN[+]>
 .
@@ -11388,7 +11360,7 @@
 .BI \-X,  \-\-exclude \ <PATTERN[+]>
 .
 exclude names matching the given patterns
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS kwfiles
@@ -11396,9 +11368,9 @@
 show files configured for keyword expansion:
 .sp
 .nf
-.ft C
+.ft
 hg kwfiles [OPTION]... [FILE]...
-.ft P
+.ft
 .fi
 .sp
 List which files in the working directory are matched by the
@@ -11408,7 +11380,7 @@
 execution by including only files that are actual candidates for
 expansion.
 .sp
-See \%\fBhg help keyword\fP\: on how to construct patterns both for
+See \fBhg help keyword\fP on how to construct patterns both for
 inclusion and exclusion of files.
 .sp
 With \-A/\-\-all and \-v/\-\-verbose the codes used to show the status
@@ -11415,16 +11387,16 @@
 of files are:
 .sp
 .nf
-.ft C
+.ft
 K = keyword expansion candidate
 k = keyword expansion candidate (not tracked)
 I = ignored
 i = ignored (not tracked)
-.ft P
+.ft
 .fi
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-A,  \-\-all
 .
@@ -11445,7 +11417,7 @@
 .BI \-X,  \-\-exclude \ <PATTERN[+]>
 .
 exclude names matching the given patterns
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS kwshrink
@@ -11453,9 +11425,9 @@
 revert expanded keywords in the working directory:
 .sp
 .nf
-.ft C
+.ft
 hg kwshrink [OPTION]... [FILE]...
-.ft P
+.ft
 .fi
 .sp
 Must be run before changing/disabling active keywords.
@@ -11463,7 +11435,7 @@
 kwshrink refuses to run if given files contain local changes.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-I,  \-\-include \ <PATTERN[+]>
 .
@@ -11472,7 +11444,7 @@
 .BI \-X,  \-\-exclude \ <PATTERN[+]>
 .
 exclude names matching the given patterns
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS largefiles
@@ -11481,10 +11453,10 @@
 .sp
 Large binary files tend to be not very compressible, not very
 diffable, and not at all mergeable. Such files are not handled
-efficiently by Mercurial\(aqs storage format (revlog), which is based on
+efficiently by Mercurial's storage format (revlog), which is based on
 compressed binary deltas; storing large binary files as regular
 Mercurial files wastes bandwidth and disk space and increases
-Mercurial\(aqs memory usage. The largefiles extension addresses these
+Mercurial's memory usage. The largefiles extension addresses these
 problems by adding a centralized client\-server layer on top of
 Mercurial: largefiles live in a \fIcentral store\fP out on the network
 somewhere, and you only fetch the revisions that you need when you
@@ -11496,18 +11468,18 @@
 identified by the SHA\-1 hash of their contents, which is written to
 the standin. largefiles uses that revision ID to get/put largefile
 revisions from/to the central store. This saves both disk space and
-bandwidth, since you don\(aqt need to retrieve all historical revisions
+bandwidth, since you don't need to retrieve all historical revisions
 of large files when you clone or pull.
 .sp
 To start a new repository or add new large binary files, just add
-\-\-large to your \%\fBhg add\fP\: command. For example:
+\-\-large to your \fBhg add\fP command. For example:
 .sp
 .nf
-.ft C
+.ft
 $ dd if=/dev/urandom of=randomdata count=2000
 $ hg add \-\-large randomdata
-$ hg commit \-m \(aqadd randomdata as a largefile\(aq
-.ft P
+$ hg commit \-m 'add randomdata as a largefile'
+.ft
 .fi
 .sp
 When you push a changeset that adds/modifies largefiles to a remote
@@ -11524,8 +11496,8 @@
 copy to the latest pulled revision (and thereby downloading any new
 largefiles).
 .sp
-If you want to pull largefiles you don\(aqt need for update yet, then
-you can use pull with the \fI\-\-lfrev\fP option or the \%\fBhg lfpull\fP\: command.
+If you want to pull largefiles you don't need for update yet, then
+you can use pull with the \fI\-\-lfrev\fP option or the \fBhg lfpull\fP command.
 .sp
 If you know you are pulling from a non\-default location and want to
 download all the largefiles that correspond to the new changesets at
@@ -11544,12 +11516,12 @@
 If you already have large files tracked by Mercurial without the
 largefiles extension, you will need to convert your repository in
 order to benefit from largefiles. This is done with the
-\%\fBhg lfconvert\fP\: command:
+\fBhg lfconvert\fP command:
 .sp
 .nf
-.ft C
+.ft
 $ hg lfconvert \-\-size 10 oldrepo newrepo
-.ft P
+.ft
 .fi
 .sp
 In repositories that already have largefiles in them, any new file
@@ -11559,20 +11531,20 @@
 \-\-lfsize option to the add command (also in megabytes):
 .sp
 .nf
-.ft C
+.ft
 [largefiles]
 minsize = 2
 
 $ hg add \-\-lfsize 2
-.ft P
+.ft
 .fi
 .sp
 The \fBlargefiles.patterns\fP config option allows you to specify a list
-of filename patterns (see \%\fBhg help patterns\fP\:) that should always be
+of filename patterns (see \fBhg help patterns\fP) that should always be
 tracked as largefiles:
 .sp
 .nf
-.ft C
+.ft
 [largefiles]
 patterns =
   *.jpg
@@ -11579,7 +11551,7 @@
   re:.*\e.(png|bmp)$
   library.zip
   content/audio/*
-.ft P
+.ft
 .fi
 .sp
 Files that match one of these patterns will be added as largefiles
@@ -11588,7 +11560,7 @@
 The \fBlargefiles.minsize\fP and \fBlargefiles.patterns\fP config options
 will be ignored for any repositories not already containing a
 largefile. To add the first largefile to a repository, you must
-explicitly do so with the \-\-large flag passed to the \%\fBhg add\fP\:
+explicitly do so with the \-\-large flag passed to the \fBhg add\fP
 command.
 .SS Commands
 .SS lfconvert
@@ -11596,9 +11568,9 @@
 convert a normal repository to a largefiles repository:
 .sp
 .nf
-.ft C
+.ft
 hg lfconvert SOURCE DEST [FILE ...]
-.ft P
+.ft
 .fi
 .sp
 Convert repository SOURCE to a new repository DEST, identical to
@@ -11618,7 +11590,7 @@
 this, the DEST repository can be used without largefiles at all.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-s,  \-\-size \ <SIZE>
 .
@@ -11627,33 +11599,33 @@
 .B \-\-to\-normal
 .
 convert from a largefiles repo to a normal repo
-.UNINDENT
+.RE
 .SS lfpull
 .sp
 pull largefiles for the specified revisions from the specified source:
 .sp
 .nf
-.ft C
+.ft
 hg lfpull \-r REV... [\-e CMD] [\-\-remotecmd CMD] [SOURCE]
-.ft P
+.ft
 .fi
 .sp
 Pull largefiles that are referenced from local changesets but missing
 locally, pulling from a remote repository to the local cache.
 .sp
-If SOURCE is omitted, the \(aqdefault\(aq path will be used.
-See \%\fBhg help urls\fP\: for more information.
+If SOURCE is omitted, the 'default' path will be used.
+See \fBhg help urls\fP for more information.
 .sp
 Some examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 pull largefiles for all branch heads:
 .sp
 .nf
-.ft C
+.ft
 hg lfpull \-r "head() and not closed()"
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -11660,14 +11632,14 @@
 pull largefiles on the default branch:
 .sp
 .nf
-.ft C
+.ft
 hg lfpull \-r "branch(default)"
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-r,  \-\-rev \ <VALUE[+]>
 .
@@ -11684,7 +11656,7 @@
 .B \-\-insecure
 .
 do not verify server certificate (ignoring web.cacerts config)
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS mq
@@ -11698,10 +11670,10 @@
 Known patches are represented as patch files in the .hg/patches
 directory. Applied patches are both patch files and changesets.
 .sp
-Common tasks (use \%\fBhg help command\fP\: for more details):
+Common tasks (use \fBhg help command\fP for more details):
 .sp
 .nf
-.ft C
+.ft
 create new patch                          qnew
 import existing patch                     qimport
 
@@ -11711,7 +11683,7 @@
 add known patch to applied stack          qpush
 remove patch from applied stack           qpop
 refresh contents of top applied patch     qrefresh
-.ft P
+.ft
 .fi
 .sp
 By default, mq will automatically use git patches when required to
@@ -11719,29 +11691,29 @@
 files creations or deletions. This behavior can be configured with:
 .sp
 .nf
-.ft C
+.ft
 [mq]
 git = auto/keep/yes/no
-.ft P
+.ft
 .fi
 .sp
-If set to \(aqkeep\(aq, mq will obey the [diff] section configuration while
-preserving existing git patches upon qrefresh. If set to \(aqyes\(aq or
-\(aqno\(aq, mq will override the [diff] section and always generate git or
+If set to 'keep', mq will obey the [diff] section configuration while
+preserving existing git patches upon qrefresh. If set to 'yes' or
+\&'no', mq will override the [diff] section and always generate git or
 regular patches, possibly losing data in the second case.
 .sp
 It may be desirable for mq changesets to be kept in the secret phase (see
-\%\fBhg help phases\fP\:), which can be enabled with the following setting:
+\fBhg help phases\fP), which can be enabled with the following setting:
 .sp
 .nf
-.ft C
+.ft
 [mq]
 secret = True
-.ft P
+.ft
 .fi
 .sp
 You will by default be managing a patch queue named "patches". You can
-create other, independent patch queues with the \%\fBhg qqueue\fP\: command.
+create other, independent patch queues with the \fBhg qqueue\fP command.
 .sp
 If the working directory contains uncommitted files, qpush, qpop and
 qgoto abort immediately. If \-f/\-\-force is used, the changes are
@@ -11748,10 +11720,10 @@
 discarded. Setting:
 .sp
 .nf
-.ft C
+.ft
 [mq]
 keepchanges = True
-.ft P
+.ft
 .fi
 .sp
 make them behave as if \-\-keep\-changes were passed, and non\-conflicting
@@ -11766,15 +11738,15 @@
 print the patches already applied:
 .sp
 .nf
-.ft C
+.ft
 hg qapplied [\-1] [\-s] [PATCH]
-.ft P
+.ft
 .fi
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-1,  \-\-last
 .
@@ -11783,15 +11755,15 @@
 .B \-s,  \-\-summary
 .
 print first line of patch header
-.UNINDENT
+.RE
 .SS qclone
 .sp
 clone main and patch repository at same time:
 .sp
 .nf
-.ft C
+.ft
 hg qclone [OPTION]... SOURCE [DEST]
-.ft P
+.ft
 .fi
 .sp
 If source is local, destination will have no patches applied. If
@@ -11804,12 +11776,12 @@
 default. Use \-p <url> to change.
 .sp
 The patch directory must be a nested Mercurial repository, as
-would be created by \%\fBhg init \-\-mq\fP\:.
+would be created by \fBhg init \-\-mq\fP.
 .sp
 Return 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-\-pull
 .
@@ -11838,21 +11810,21 @@
 .B \-\-insecure
 .
 do not verify server certificate (ignoring web.cacerts config)
-.UNINDENT
+.RE
 .SS qcommit
 .sp
 commit changes in the queue repository (DEPRECATED):
 .sp
 .nf
-.ft C
+.ft
 hg qcommit [OPTION]... [FILE]...
-.ft P
+.ft
 .fi
 .sp
-This command is deprecated; use \%\fBhg commit \-\-mq\fP\: instead.
+This command is deprecated; use \fBhg commit \-\-mq\fP instead.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-A,  \-\-addremove
 .
@@ -11905,23 +11877,23 @@
 .B \-S,  \-\-subrepos
 .
 recurse into subrepositories
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
-.INDENT 0.0
-.INDENT 3.5
+.RS 0
+.RS 3
 .sp
 aliases: qci
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .SS qdelete
 .sp
 remove patches from queue:
 .sp
 .nf
-.ft C
+.ft
 hg qdelete [\-k] [PATCH]...
-.ft P
+.ft
 .fi
 .sp
 The patches must not be applied, and at least one patch is required. Exact
@@ -11929,10 +11901,10 @@
 preserved in the patch directory.
 .sp
 To stop managing a patch and move it into permanent history,
-use the \%\fBhg qfinish\fP\: command.
+use the \fBhg qfinish\fP command.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-k,  \-\-keep
 .
@@ -11941,23 +11913,23 @@
 .BI \-r,  \-\-rev \ <REV[+]>
 .
 stop managing a revision (DEPRECATED)
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
-.INDENT 0.0
-.INDENT 3.5
+.RS 0
+.RS 3
 .sp
 aliases: qremove qrm
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .SS qdiff
 .sp
 diff of the current patch and subsequent modifications:
 .sp
 .nf
-.ft C
+.ft
 hg qdiff [OPTION]... [FILE]...
-.ft P
+.ft
 .fi
 .sp
 Shows a diff which includes the current patch as well as any
@@ -11965,8 +11937,8 @@
 last refresh (thus showing what the current patch would become
 after a qrefresh).
 .sp
-Use \%\fBhg diff\fP\: if you only want to see the changes made since the
-last qrefresh, or \%\fBhg export qtip\fP\: if you want to see changes
+Use \fBhg diff\fP if you only want to see the changes made since the
+last qrefresh, or \fBhg export qtip\fP if you want to see changes
 made by the current patch without including changes made since the
 qrefresh.
 .sp
@@ -11973,7 +11945,7 @@
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-a,  \-\-text
 .
@@ -12030,7 +12002,7 @@
 .BI \-X,  \-\-exclude \ <PATTERN[+]>
 .
 exclude names matching the given patterns
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS qfinish
@@ -12038,9 +12010,9 @@
 move applied patches into repository history:
 .sp
 .nf
-.ft C
+.ft
 hg qfinish [\-a] [REV]...
-.ft P
+.ft
 .fi
 .sp
 Finishes the specified revisions (corresponding to applied
@@ -12059,20 +12031,20 @@
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-a,  \-\-applied
 .
 finish all applied changesets
-.UNINDENT
+.RE
 .SS qfold
 .sp
 fold the named patches into the current patch:
 .sp
 .nf
-.ft C
+.ft
 hg qfold [\-e] [\-k] [\-m TEXT] [\-l FILE] PATCH...
-.ft P
+.ft
 .fi
 .sp
 Patches must not yet be applied. Each patch will be successively
@@ -12088,7 +12060,7 @@
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-e,  \-\-edit
 .
@@ -12105,21 +12077,21 @@
 .BI \-l,  \-\-logfile \ <FILE>
 .
 read commit message from file
-.UNINDENT
+.RE
 .SS qgoto
 .sp
 push or pop patches until named patch is at top of stack:
 .sp
 .nf
-.ft C
+.ft
 hg qgoto [OPTION]... PATCH
-.ft P
+.ft
 .fi
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-\-keep\-changes
 .
@@ -12132,21 +12104,21 @@
 .B \-\-no\-backup
 .
 do not save backup copies of files
-.UNINDENT
+.RE
 .SS qguard
 .sp
 set or print guards for a patch:
 .sp
 .nf
-.ft C
+.ft
 hg qguard [\-l] [\-n] [PATCH] [\-\- [+GUARD]... [\-GUARD]...]
-.ft P
+.ft
 .fi
 .sp
 Guards control whether a patch can be pushed. A patch with no
 guards is always pushed. A patch with a positive guard ("+foo") is
-pushed only if the \%\fBhg qselect\fP\: command has activated it. A patch with
-a negative guard ("\-foo") is never pushed if the \%\fBhg qselect\fP\: command
+pushed only if the \fBhg qselect\fP command has activated it. A patch with
+a negative guard ("\-foo") is never pushed if the \fBhg qselect\fP command
 has activated it.
 .sp
 With no arguments, print the currently active guards.
@@ -12153,21 +12125,21 @@
 With arguments, set guards for the named patch.
 .IP Note
 .
-Specifying negative guards now requires \(aq\-\-\(aq.
+Specifying negative guards now requires '\-\-'.
 .RE
 .sp
 To set guards on another patch:
 .sp
 .nf
-.ft C
+.ft
 hg qguard other.patch \-\- +2.6.17 \-stable
-.ft P
+.ft
 .fi
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-l,  \-\-list
 .
@@ -12176,15 +12148,15 @@
 .B \-n,  \-\-none
 .
 drop all guards
-.UNINDENT
+.RE
 .SS qheader
 .sp
 print the header of the topmost or specified patch:
 .sp
 .nf
-.ft C
+.ft
 hg qheader [PATCH]
-.ft P
+.ft
 .fi
 .sp
 Returns 0 on success.
@@ -12193,9 +12165,9 @@
 import a patch or existing changeset:
 .sp
 .nf
-.ft C
+.ft
 hg qimport [\-e] [\-n NAME] [\-f] [\-g] [\-P] [\-r REV]... [FILE]...
-.ft P
+.ft
 .fi
 .sp
 The patch is inserted into the series after the last applied
@@ -12216,7 +12188,7 @@
 under mq control). With \-g/\-\-git, patches imported with \-\-rev will
 use the git diff format. See the diffs help topic for information
 on why this is important for preserving rename/copy information
-and permission changes. Use \%\fBhg qfinish\fP\: to remove changesets
+and permission changes. Use \fBhg qfinish\fP to remove changesets
 from mq control.
 .sp
 To import a patch from standard input, pass \- as the patch file.
@@ -12226,15 +12198,15 @@
 To import an existing patch while renaming it:
 .sp
 .nf
-.ft C
+.ft
 hg qimport \-e existing\-patch \-n new\-name
-.ft P
+.ft
 .fi
 .sp
 Returns 0 if import succeeded.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-e,  \-\-existing
 .
@@ -12259,7 +12231,7 @@
 .B \-P,  \-\-push
 .
 qpush after importing
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS qinit
@@ -12267,9 +12239,9 @@
 init a new queue repository (DEPRECATED):
 .sp
 .nf
-.ft C
+.ft
 hg qinit [\-c]
-.ft P
+.ft
 .fi
 .sp
 The queue repository is unversioned by default. If
@@ -12278,24 +12250,24 @@
 an unversioned patch repository into a versioned one). You can use
 qcommit to commit changes to this queue repository.
 .sp
-This command is deprecated. Without \-c, it\(aqs implied by other relevant
-commands. With \-c, use \%\fBhg init \-\-mq\fP\: instead.
+This command is deprecated. Without \-c, it's implied by other relevant
+commands. With \-c, use \fBhg init \-\-mq\fP instead.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-c,  \-\-create\-repo
 .
 create queue repository
-.UNINDENT
+.RE
 .SS qnew
 .sp
 create a new patch:
 .sp
 .nf
-.ft C
+.ft
 hg qnew [\-e] [\-m TEXT] [\-l FILE] PATCH [FILE]...
-.ft P
+.ft
 .fi
 .sp
 qnew creates a new patch on top of the currently\-applied patch (if
@@ -12311,7 +12283,7 @@
 .sp
 \-e/\-\-edit, \-m/\-\-message or \-l/\-\-logfile set the patch header as
 well as the commit message. If none is specified, the header is
-empty and the commit message is \(aq[mq]: PATCH\(aq.
+empty and the commit message is '[mq]: PATCH'.
 .sp
 Use the \-g/\-\-git option to keep the patch in the git extended diff
 format. Read the diffs help topic for more information on why this
@@ -12321,7 +12293,7 @@
 Returns 0 on successful creation of a new patch.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-e,  \-\-edit
 .
@@ -12366,7 +12338,7 @@
 .BI \-l,  \-\-logfile \ <FILE>
 .
 read commit message from file
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS qnext
@@ -12374,28 +12346,28 @@
 print the name of the next pushable patch:
 .sp
 .nf
-.ft C
+.ft
 hg qnext [\-s]
-.ft P
+.ft
 .fi
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-s,  \-\-summary
 .
 print first line of patch header
-.UNINDENT
+.RE
 .SS qpop
 .sp
 pop the current patch off the stack:
 .sp
 .nf
-.ft C
+.ft
 hg qpop [\-a] [\-f] [PATCH | INDEX]
-.ft P
+.ft
 .fi
 .sp
 Without argument, pops off the top of the patch stack. If given a
@@ -12410,7 +12382,7 @@
 Return 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-a,  \-\-all
 .
@@ -12431,34 +12403,34 @@
 .B \-\-no\-backup
 .
 do not save backup copies of files
-.UNINDENT
+.RE
 .SS qprev
 .sp
 print the name of the preceding applied patch:
 .sp
 .nf
-.ft C
+.ft
 hg qprev [\-s]
-.ft P
+.ft
 .fi
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-s,  \-\-summary
 .
 print first line of patch header
-.UNINDENT
+.RE
 .SS qpush
 .sp
 push the next patch onto the stack:
 .sp
 .nf
-.ft C
+.ft
 hg qpush [\-f] [\-l] [\-a] [\-\-move] [PATCH | INDEX]
-.ft P
+.ft
 .fi
 .sp
 By default, abort if the working directory contains uncommitted
@@ -12469,7 +12441,7 @@
 Return 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-\-keep\-changes
 .
@@ -12506,15 +12478,15 @@
 .B \-\-no\-backup
 .
 do not save backup copies of files
-.UNINDENT
+.RE
 .SS qqueue
 .sp
 manage multiple patch queues:
 .sp
 .nf
-.ft C
+.ft
 hg qqueue [OPTION] [QUEUE]
-.ft P
+.ft
 .fi
 .sp
 Supports switching between different patch queues, as well as creating
@@ -12536,7 +12508,7 @@
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-l,  \-\-list
 .
@@ -12561,15 +12533,15 @@
 .B \-\-purge
 .
 delete queue, and remove patch dir
-.UNINDENT
+.RE
 .SS qrefresh
 .sp
 update the current patch:
 .sp
 .nf
-.ft C
+.ft
 hg qrefresh [\-I] [\-X] [\-e] [\-m TEXT] [\-l FILE] [\-s] [FILE]...
-.ft P
+.ft
 .fi
 .sp
 If any file patterns are provided, the refreshed patch will
@@ -12591,7 +12563,7 @@
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-e,  \-\-edit
 .
@@ -12636,7 +12608,7 @@
 .BI \-l,  \-\-logfile \ <FILE>
 .
 read commit message from file
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS qrename
@@ -12644,9 +12616,9 @@
 rename a patch:
 .sp
 .nf
-.ft C
+.ft
 hg qrename PATCH1 [PATCH2]
-.ft P
+.ft
 .fi
 .sp
 With one argument, renames the current patch to PATCH1.
@@ -12653,26 +12625,26 @@
 With two arguments, renames PATCH1 to PATCH2.
 .sp
 Returns 0 on success.
-.INDENT 0.0
-.INDENT 3.5
+.RS 0
+.RS 3
 .sp
 aliases: qmv
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .SS qrestore
 .sp
 restore the queue state saved by a revision (DEPRECATED):
 .sp
 .nf
-.ft C
+.ft
 hg qrestore [\-d] [\-u] REV
-.ft P
+.ft
 .fi
 .sp
-This command is deprecated, use \%\fBhg rebase\fP\: instead.
+This command is deprecated, use \fBhg rebase\fP instead.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-d,  \-\-delete
 .
@@ -12681,21 +12653,21 @@
 .B \-u,  \-\-update
 .
 update queue working directory
-.UNINDENT
+.RE
 .SS qsave
 .sp
 save current queue state (DEPRECATED):
 .sp
 .nf
-.ft C
+.ft
 hg qsave [\-m TEXT] [\-l FILE] [\-c] [\-n NAME] [\-e] [\-f]
-.ft P
+.ft
 .fi
 .sp
-This command is deprecated, use \%\fBhg rebase\fP\: instead.
+This command is deprecated, use \fBhg rebase\fP instead.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-c,  \-\-copy
 .
@@ -12720,18 +12692,18 @@
 .BI \-l,  \-\-logfile \ <FILE>
 .
 read commit message from file
-.UNINDENT
+.RE
 .SS qselect
 .sp
 set or print guarded patches to push:
 .sp
 .nf
-.ft C
+.ft
 hg qselect [OPTION]... [GUARD]...
-.ft P
+.ft
 .fi
 .sp
-Use the \%\fBhg qguard\fP\: command to set or print guards on patch, then use
+Use the \fBhg qguard\fP command to set or print guards on patch, then use
 qselect to tell mq which guards to use. A patch will be pushed if
 it has no guards or any positive guards match the currently
 selected guard, but will not be pushed if any negative guards
@@ -12738,11 +12710,11 @@
 match the current guard. For example:
 .sp
 .nf
-.ft C
+.ft
 qguard foo.patch \-\- \-stable    (negative guard)
 qguard bar.patch    +stable    (positive guard)
 qselect stable
-.ft P
+.ft
 .fi
 .sp
 This activates the "stable" guard. mq will skip foo.patch (because
@@ -12768,7 +12740,7 @@
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-n,  \-\-none
 .
@@ -12785,21 +12757,21 @@
 .B \-\-reapply
 .
 pop, then reapply patches
-.UNINDENT
+.RE
 .SS qseries
 .sp
 print the entire series file:
 .sp
 .nf
-.ft C
+.ft
 hg qseries [\-ms]
-.ft P
+.ft
 .fi
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-m,  \-\-missing
 .
@@ -12808,40 +12780,40 @@
 .B \-s,  \-\-summary
 .
 print first line of patch header
-.UNINDENT
+.RE
 .SS qtop
 .sp
 print the name of the current patch:
 .sp
 .nf
-.ft C
+.ft
 hg qtop [\-s]
-.ft P
+.ft
 .fi
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-s,  \-\-summary
 .
 print first line of patch header
-.UNINDENT
+.RE
 .SS qunapplied
 .sp
 print the patches not yet applied:
 .sp
 .nf
-.ft C
+.ft
 hg qunapplied [\-1] [\-s] [PATCH]
-.ft P
+.ft
 .fi
 .sp
 Returns 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-1,  \-\-first
 .
@@ -12850,7 +12822,7 @@
 .B \-s,  \-\-summary
 .
 print first line of patch header
-.UNINDENT
+.RE
 .SS notify
 .sp
 hooks for sending email push notifications
@@ -12858,13 +12830,13 @@
 This extension implements hooks to send email notifications when
 changesets are sent from or received by the local repository.
 .sp
-First, enable the extension as explained in \%\fBhg help extensions\fP\:, and
+First, enable the extension as explained in \fBhg help extensions\fP, and
 register the hook you want to run. \fBincoming\fP and \fBchangegroup\fP hooks
 are run when changesets are received, while \fBoutgoing\fP hooks are for
 changesets sent to another repository:
 .sp
 .nf
-.ft C
+.ft
 [hooks]
 # one email for each incoming changeset
 incoming.notify = python:hgext.notify.hook
@@ -12873,7 +12845,7 @@
 
 # one email for all outgoing changesets
 outgoing.notify = python:hgext.notify.hook
-.ft P
+.ft
 .fi
 .sp
 This registers the hooks. To enable notification, subscribers must
@@ -12882,7 +12854,7 @@
 multiple recipients to a single repository:
 .sp
 .nf
-.ft C
+.ft
 [usersubs]
 # key is subscriber email, value is a comma\-separated list of repo patterns
 user@host = pattern
@@ -12890,7 +12862,7 @@
 [reposubs]
 # key is repo pattern, value is a comma\-separated list of subscriber emails
 pattern = user@host
-.ft P
+.ft
 .fi
 .sp
 A \fBpattern\fP is a \fBglob\fP matching the absolute path to a repository,
@@ -12898,10 +12870,10 @@
 present, is separated from the glob by a hash. Example:
 .sp
 .nf
-.ft C
+.ft
 [reposubs]
 */widgets#branch(release) = qa\-team@example.com
-.ft P
+.ft
 .fi
 .sp
 This sends to \fBqa\-team@example.com\fP whenever a changeset on the \fBrelease\fP
@@ -12912,10 +12884,10 @@
 incorporated by reference:
 .sp
 .nf
-.ft C
+.ft
 [notify]
 config = /path/to/subscriptionsfile
-.ft P
+.ft
 .fi
 .sp
 Notifications will not be sent until the \fBnotify.test\fP value is set
@@ -12922,7 +12894,7 @@
 to \fBFalse\fP; see below.
 .sp
 Notifications content can be tweaked with the following configuration entries:
-.INDENT 0.0
+.RS 0
 .TP
 .B notify.test
 .
@@ -12931,8 +12903,8 @@
 .B notify.sources
 .
 Space\-separated list of change sources. Notifications are activated only
-when a changeset\(aqs source is in this list. Sources may be:
-.INDENT 7.0
+when a changeset's source is in this list. Sources may be:
+.RS 7
 .TP
 .B \fBserve\fP
 .sp
@@ -12953,7 +12925,7 @@
 .B \fBbundle\fP
 .sp
 changesets sent via \fBhg unbundle\fP
-.UNINDENT
+.RE
 .sp
 Default: serve.
 .TP
@@ -12996,7 +12968,7 @@
 .TP
 .B notify.maxsubject
 .
-Maximum number of characters in email\(aqs subject line. Default: 67.
+Maximum number of characters in email's subject line. Default: 67.
 .TP
 .B notify.diffstat
 .
@@ -13015,11 +12987,11 @@
 If set, use the committer of the first changeset in a changegroup for
 the "From" field of the notification mail. If not set, take the user
 from the pushing repo.  Default: False.
-.UNINDENT
+.RE
 .sp
 If set, the following entries will also be used to customize the
 notifications:
-.INDENT 0.0
+.RS 0
 .TP
 .B email.from
 .
@@ -13030,7 +13002,7 @@
 .
 Root repository URL to combine with repository paths when making
 references. See also \fBnotify.strip\fP.
-.UNINDENT
+.RE
 .SS pager
 .sp
 browse command output with an external pager
@@ -13038,10 +13010,10 @@
 To set the pager that should be used, set the application variable:
 .sp
 .nf
-.ft C
+.ft
 [pager]
 pager = less \-FRX
-.ft P
+.ft
 .fi
 .sp
 If no pager is set, the pager extensions uses the environment variable
@@ -13051,10 +13023,10 @@
 pager.ignore list:
 .sp
 .nf
-.ft C
+.ft
 [pager]
 ignore = version, help, update
-.ft P
+.ft
 .fi
 .sp
 You can also enable the pager only for certain commands using
@@ -13061,10 +13033,10 @@
 pager.attend. Below is the default list of commands to be paged:
 .sp
 .nf
-.ft C
+.ft
 [pager]
 attend = annotate, cat, diff, export, glog, log, qdiff
-.ft P
+.ft
 .fi
 .sp
 Setting pager.attend to an empty value will cause all commands to be
@@ -13077,13 +13049,13 @@
 existing attend and ignore options and defaults:
 .sp
 .nf
-.ft C
+.ft
 [pager]
 attend\-cat = false
-.ft P
+.ft
 .fi
 .sp
-To ignore global commands like \%\fBhg version\fP\: or \%\fBhg help\fP\:, you have
+To ignore global commands like \fBhg version\fP or \fBhg help\fP, you have
 to specify them in your user configuration file.
 .sp
 To control whether the pager is used at all for an individual command,
@@ -13090,12 +13062,12 @@
 you can use \-\-pager=<value>:
 .sp
 .nf
-.ft C
+.ft
 \- use as needed: \(gaauto\(ga.
 \- require the pager: \(gayes\(ga or \(gaon\(ga.
 \- suppress the pager: \(gano\(ga or \(gaoff\(ga (any unrecognized value
 will also work).
-.ft P
+.ft
 .fi
 .SS patchbomb
 .sp
@@ -13107,7 +13079,7 @@
 Each patch email has a Subject line of "[PATCH M of N] ...", using the
 first line of the changeset description as the subject text. The
 message contains two or three body parts:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 The changeset description.
@@ -13116,8 +13088,8 @@
 [Optional] The result of running diffstat on the patch.
 .IP \(bu 2
 .
-The patch itself, as generated by \%\fBhg export\fP\:.
-.UNINDENT
+The patch itself, as generated by \fBhg export\fP.
+.RE
 .sp
 Each message refers to the first in the series using the In\-Reply\-To
 and References headers, so they will show up as a sequence in threaded
@@ -13127,7 +13099,7 @@
 configuration file:
 .sp
 .nf
-.ft C
+.ft
 [email]
 from = My Name <my@email>
 to = recipient1, recipient2, ...
@@ -13134,13 +13106,13 @@
 cc = cc1, cc2, ...
 bcc = bcc1, bcc2, ...
 reply\-to = address1, address2, ...
-.ft P
+.ft
 .fi
 .sp
 Use \fB[patchbomb]\fP as configuration section name if you need to
 override global \fB[email]\fP address settings.
 .sp
-Then you can use the \%\fBhg email\fP\: command to mail a series of
+Then you can use the \fBhg email\fP command to mail a series of
 changesets as a patchbomb.
 .sp
 You can also either configure the method option in the email section
@@ -13149,15 +13121,15 @@
 directly from the commandline. See the [email] and [smtp] sections in
 hgrc(5) for details.
 .sp
-By default, \%\fBhg email\fP\: will prompt for a \fBTo\fP or \fBCC\fP header if
+By default, \fBhg email\fP will prompt for a \fBTo\fP or \fBCC\fP header if
 you do not supply one via configuration or the command line.  You can
 override this to never prompt by configuring an empty value:
 .sp
 .nf
-.ft C
+.ft
 [email]
 cc =
-.ft P
+.ft
 .fi
 .sp
 You can control the default inclusion of an introduction message with the
@@ -13165,12 +13137,12 @@
 overwritten by command line flags like \-\-intro and \-\-desc:
 .sp
 .nf
-.ft C
+.ft
 [patchbomb]
 intro=auto   # include introduction message if more than 1 patch (default)
 intro=never  # never include an introduction message
 intro=always # always include an introduction message
-.ft P
+.ft
 .fi
 .sp
 You can set patchbomb to always ask for confirmation by setting
@@ -13181,13 +13153,13 @@
 send changesets by email:
 .sp
 .nf
-.ft C
+.ft
 hg email [OPTION]... [DEST]...
-.ft P
+.ft
 .fi
 .sp
 By default, diffs are sent in the format generated by
-\%\fBhg export\fP\:, one per message. The series starts with a "[PATCH 0
+\fBhg export\fP, one per message. The series starts with a "[PATCH 0
 of N]" introduction, which describes the series as a whole.
 .sp
 Each patch email has a Subject line of "[PATCH M of N] ...", using
@@ -13198,7 +13170,7 @@
 With the \-d/\-\-diffstat option, if the diffstat program is
 installed, the result of running diffstat on the patch is inserted.
 .sp
-Finally, the patch itself, as generated by \%\fBhg export\fP\:.
+Finally, the patch itself, as generated by \fBhg export\fP.
 .sp
 With the \-d/\-\-diffstat or \-\-confirm options, you will be presented
 with a final summary of all messages and asked for confirmation before
@@ -13218,7 +13190,7 @@
 With \-b/\-\-bundle, changesets are selected as for \-\-outgoing, but a
 single email containing a binary Mercurial bundle as an attachment
 will be sent. Use the \fBpatchbomb.bundletype\fP config option to
-control the bundle type as with \%\fBhg bundle \-\-type\fP\:.
+control the bundle type as with \fBhg bundle \-\-type\fP.
 .sp
 With \-m/\-\-mbox, instead of previewing each patchbomb message in a
 pager or sending the messages directly, it will create a UNIX
@@ -13237,12 +13209,12 @@
 introductory message in \fB.hg/last\-email.txt\fP.
 .sp
 The default behavior of this command can be customized through
-configuration. (See \%\fBhg help patchbomb\fP\: for details)
+configuration. (See \fBhg help patchbomb\fP for details)
 .sp
 Examples:
 .sp
 .nf
-.ft C
+.ft
 hg email \-r 3000          # send patch 3000 only
 hg email \-r 3000 \-r 3001  # send patches 3000 and 3001
 hg email \-r 3000:3005     # send patches 3000 through 3005
@@ -13263,7 +13235,7 @@
 hg email \-o \-m mbox &&    # generate an mbox file ...
   formail \-s sendmail \e   # ... and use formail to send from the mbox
     \-bm \-t < mbox         # ... using sendmail
-.ft P
+.ft
 .fi
 .sp
 Before using this command, you will need to enable email in your
@@ -13270,7 +13242,7 @@
 hgrc. See the [email] section in hgrc(5) for details.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-g,  \-\-git
 .
@@ -13387,7 +13359,7 @@
 .B \-\-insecure
 .
 do not verify server certificate (ignoring web.cacerts config)
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS purge
@@ -13399,9 +13371,9 @@
 removes files not tracked by Mercurial:
 .sp
 .nf
-.ft C
+.ft
 hg purge [OPTION]... [DIR]...
-.ft P
+.ft
 .fi
 .sp
 Delete files not known to Mercurial. This is useful to test local
@@ -13408,18 +13380,18 @@
 and uncommitted changes in an otherwise\-clean source tree.
 .sp
 This means that purge will delete the following by default:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
-Unknown files: files marked with "?" by \%\fBhg status\fP\:
+Unknown files: files marked with "?" by \fBhg status\fP
 .IP \(bu 2
 .
 Empty directories: in fact Mercurial ignores directories unless
 they contain files under source control management
-.UNINDENT
+.RE
 .sp
 But it will leave untouched:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 Modified and unmodified tracked files
@@ -13428,8 +13400,8 @@
 Ignored files (unless \-\-all is specified)
 .IP \(bu 2
 .
-New files added to the repository (with \%\fBhg add\fP\:)
-.UNINDENT
+New files added to the repository (with \fBhg add\fP)
+.RE
 .sp
 The \-\-files and \-\-dirs options can be used to direct purge to delete
 only files, only directories, or both. If neither option is given,
@@ -13444,7 +13416,7 @@
 option.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-a,  \-\-abort\-on\-err
 .
@@ -13477,15 +13449,15 @@
 .BI \-X,  \-\-exclude \ <PATTERN[+]>
 .
 exclude names matching the given patterns
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
-.INDENT 0.0
-.INDENT 3.5
+.RS 0
+.RS 3
 .sp
 aliases: clean
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .SS rebase
 .sp
 command to move sets of revisions to a different ancestor
@@ -13494,7 +13466,7 @@
 repository.
 .sp
 For more information:
-\%https://mercurial\-scm.org/wiki/RebaseExtension\:
+https://mercurial\-scm.org/wiki/RebaseExtension
 .SS Commands
 .SS rebase
 .sp
@@ -13501,9 +13473,9 @@
 move changeset (and descendants) to a different branch:
 .sp
 .nf
-.ft C
+.ft
 hg rebase [\-s REV | \-b REV] [\-d REV] [OPTION]
-.ft P
+.ft
 .fi
 .sp
 Rebase uses repeated merging to graft changesets from one part of
@@ -13511,18 +13483,18 @@
 useful for linearizing \fIlocal\fP changes relative to a master
 development tree.
 .sp
-Published commits cannot be rebased (see \%\fBhg help phases\fP\:).
-To copy commits, see \%\fBhg help graft\fP\:.
+Published commits cannot be rebased (see \fBhg help phases\fP).
+To copy commits, see \fBhg help graft\fP.
 .sp
-If you don\(aqt specify a destination changeset (\fB\-d/\-\-dest\fP),
+If you don't specify a destination changeset (\fB\-d/\-\-dest\fP),
 rebase uses the current branch tip as the destination. (The
 destination changeset is not modified by rebasing, but new
 changesets are added as its descendants.)
 .sp
 Here are the ways to select changesets:
-.INDENT 0.0
-.INDENT 3.5
-.INDENT 0.0
+.RS 0
+.RS 3
+.RS 0
 .IP 1. 3
 .
 Explicitly select them using \fB\-\-rev\fP.
@@ -13538,9 +13510,9 @@
 .
 If you do not specify any of \fB\-\-rev\fP, \fBsource\fP, or \fB\-\-base\fP,
 rebase will use \fB\-\-base .\fP as above.
-.UNINDENT
-.UNINDENT
-.UNINDENT
+.RE
+.RE
+.RE
 .sp
 Rebase will destroy original changesets unless you use \fB\-\-keep\fP.
 It will also move your bookmarks (even if you do).
@@ -13556,7 +13528,7 @@
 continued with \-\-continue/\-c or aborted with \-\-abort/\-a.
 .sp
 Examples:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 move "local changes" (current commit back to branching point)
@@ -13563,9 +13535,9 @@
 to the current branch tip after a pull:
 .sp
 .nf
-.ft C
+.ft
 hg rebase
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -13572,9 +13544,9 @@
 move a single changeset to the stable branch:
 .sp
 .nf
-.ft C
+.ft
 hg rebase \-r 5f493448 \-d stable
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -13581,9 +13553,9 @@
 splice a commit and all its descendants onto another part of history:
 .sp
 .nf
-.ft C
+.ft
 hg rebase \-\-source c0c3 \-\-dest 4cf9
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -13591,9 +13563,9 @@
 default branch:
 .sp
 .nf
-.ft C
+.ft
 hg rebase \-\-base myfeature \-\-dest default
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -13600,9 +13572,9 @@
 collapse a sequence of changes into a single commit:
 .sp
 .nf
-.ft C
+.ft
 hg rebase \-\-collapse \-r 1520:1525 \-d .
-.ft P
+.ft
 .fi
 .IP \(bu 2
 .
@@ -13609,17 +13581,17 @@
 move a named branch while preserving its name:
 .sp
 .nf
-.ft C
+.ft
 hg rebase \-r "branch(featureX)" \-d 1.3 \-\-keepbranches
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
 Returns 0 on success, 1 if nothing to rebase or there are
 unresolved conflicts.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-s,  \-\-source \ <REV>
 .
@@ -13688,7 +13660,7 @@
 .BI \-T,  \-\-template \ <TEMPLATE>
 .
 display with template
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS record
@@ -13700,12 +13672,12 @@
 interactively record a new patch:
 .sp
 .nf
-.ft C
+.ft
 hg qrecord [OPTION]... PATCH [FILE]...
-.ft P
+.ft
 .fi
 .sp
-See \%\fBhg help qnew\fP\: & \%\fBhg help record\fP\: for more information and
+See \fBhg help qnew\fP & \fBhg help record\fP for more information and
 usage.
 .SS record
 .sp
@@ -13712,15 +13684,15 @@
 interactively select changes to commit:
 .sp
 .nf
-.ft C
+.ft
 hg record [OPTION]... [FILE]...
-.ft P
+.ft
 .fi
 .sp
-If a list of files is omitted, all changes reported by \%\fBhg status\fP\:
+If a list of files is omitted, all changes reported by \fBhg status\fP
 will be candidates for recording.
 .sp
-See \%\fBhg help dates\fP\: for a list of formats valid for \-d/\-\-date.
+See \fBhg help dates\fP for a list of formats valid for \-d/\-\-date.
 .sp
 You will be prompted for whether to record changes to each
 modified file, and for files with multiple changes, for each
@@ -13728,7 +13700,7 @@
 possible:
 .sp
 .nf
-.ft C
+.ft
 y \- record this change
 n \- skip this change
 e \- edit this change manually
@@ -13741,13 +13713,13 @@
 q \- quit, recording no changes
 
 ? \- display help
-.ft P
+.ft
 .fi
 .sp
 This command is not available when committing a merge.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-A,  \-\-addremove
 .
@@ -13808,7 +13780,7 @@
 .B \-B,  \-\-ignore\-blank\-lines
 .
 ignore changes whose lines are all blank
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS relink
@@ -13820,9 +13792,9 @@
 recreate hardlinks between two repositories:
 .sp
 .nf
-.ft C
+.ft
 hg relink [ORIGIN]
-.ft P
+.ft
 .fi
 .sp
 When repositories are cloned locally, their data files will be
@@ -13854,18 +13826,18 @@
 lot of repositories to act like a scheme, for example:
 .sp
 .nf
-.ft C
+.ft
 [schemes]
 py = http://code.python.org/hg/
-.ft P
+.ft
 .fi
 .sp
 After that you can use it like:
 .sp
 .nf
-.ft C
+.ft
 hg clone py://trunk/
-.ft P
+.ft
 .fi
 .sp
 Additionally there is support for some more complex schemas, for
@@ -13872,10 +13844,10 @@
 example used by Google Code:
 .sp
 .nf
-.ft C
+.ft
 [schemes]
 gcode = http://{1}.googlecode.com/hg/
-.ft P
+.ft
 .fi
 .sp
 The syntax is taken from Mercurial templates, and you have unlimited
@@ -13887,7 +13859,7 @@
 For convenience, the extension adds these schemes by default:
 .sp
 .nf
-.ft C
+.ft
 [schemes]
 py = http://hg.python.org/
 bb = https://bitbucket.org/
@@ -13894,7 +13866,7 @@
 bb+ssh = ssh://hg@bitbucket.org/
 gcode = https://{1}.googlecode.com/hg/
 kiln = https://{1}.kilnhg.com/Repo/
-.ft P
+.ft
 .fi
 .sp
 You can override a predefined scheme by defining a new scheme with the
@@ -13904,19 +13876,19 @@
 share a common history between several working directories
 .SS Automatic Pooled Storage for Clones
 .sp
-When this extension is active, \%\fBhg clone\fP\: can be configured to
+When this extension is active, \fBhg clone\fP can be configured to
 automatically share/pool storage across multiple clones. This
-mode effectively converts \%\fBhg clone\fP\: to \%\fBhg clone\fP\: + \%\fBhg share\fP\:.
+mode effectively converts \fBhg clone\fP to \fBhg clone\fP + \fBhg share\fP.
 The benefit of using this mode is the automatic management of
 store paths and intelligent pooling of related repositories.
 .sp
 The following \fBshare.\fP config options influence this feature:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBshare.pool\fP
 .sp
 Filesystem path where shared repository data will be stored. When
-defined, \%\fBhg clone\fP\: will automatically use shared repository
+defined, \fBhg clone\fP will automatically use shared repository
 storage instead of creating a store inside each clone.
 .TP
 .B \fBshare.poolnaming\fP
@@ -13928,13 +13900,13 @@
 root/initial changeset is identical. In this mode, the local shared
 repository is an aggregate of all encountered remote repositories.
 .sp
-"remote" means the name is derived from the source repository\(aqs
+"remote" means the name is derived from the source repository's
 path or URL. In this mode, storage is only shared if the path or URL
-requested in the \%\fBhg clone\fP\: command matches exactly to a repository
+requested in the \fBhg clone\fP command matches exactly to a repository
 that was cloned before.
 .sp
 The default naming mode is "identity."
-.UNINDENT
+.RE
 .SS Commands
 .SS share
 .sp
@@ -13941,9 +13913,9 @@
 create a new shared repository:
 .sp
 .nf
-.ft C
+.ft
 hg share [\-U] [\-B] SOURCE [DEST]
-.ft P
+.ft
 .fi
 .sp
 Initialize a new repository and working directory that shares its
@@ -13961,7 +13933,7 @@
 .RE
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-U,  \-\-noupdate
 .
@@ -13970,15 +13942,15 @@
 .B \-B,  \-\-bookmarks
 .
 also share bookmarks
-.UNINDENT
+.RE
 .SS unshare
 .sp
 convert a shared repository to a normal one:
 .sp
 .nf
-.ft C
+.ft
 hg unshare
-.ft P
+.ft
 .fi
 .sp
 Copy the store data to the repo and remove the sharedpath data.
@@ -13992,7 +13964,7 @@
 .sp
 Later on, the "hg unshelve" command restores the changes saved by "hg
 shelve". Changes can be restored even after updating to a different
-parent, in which case Mercurial\(aqs merge machinery will resolve any
+parent, in which case Mercurial's merge machinery will resolve any
 conflicts if necessary.
 .sp
 You can have more than one shelved change outstanding at a time; each
@@ -14004,9 +13976,9 @@
 save and set aside changes from the working directory:
 .sp
 .nf
-.ft C
+.ft
 hg shelve [OPTION]... [FILE]...
-.ft P
+.ft
 .fi
 .sp
 Shelving takes files that "hg status" reports as not clean, saves
@@ -14034,7 +14006,7 @@
 all shelved changes, use \fB\-\-cleanup\fP.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-A,  \-\-addremove
 .
@@ -14091,7 +14063,7 @@
 .BI \-X,  \-\-exclude \ <PATTERN[+]>
 .
 exclude names matching the given patterns
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS unshelve
@@ -14099,9 +14071,9 @@
 restore a shelved change to the working directory:
 .sp
 .nf
-.ft C
+.ft
 hg unshelve [SHELVED]
-.ft P
+.ft
 .fi
 .sp
 This command accepts an optional name of a shelved change to
@@ -14132,7 +14104,7 @@
 prevents from deciding exact order of them, for safety.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .B \-a,  \-\-abort
 .
@@ -14153,7 +14125,7 @@
 .BI \-\-date \ <DATE>
 .
 set date for temporary commits (DEPRECATED)
-.UNINDENT
+.RE
 .SS strip
 .sp
 strip changesets and their descendants from history
@@ -14166,9 +14138,9 @@
 strip changesets and all their descendants from the repository:
 .sp
 .nf
-.ft C
+.ft
 hg strip [\-k] [\-f] [\-n] [\-B bookmark] [\-r] REV...
-.ft P
+.ft
 .fi
 .sp
 The strip command removes the specified changesets and all their
@@ -14182,8 +14154,8 @@
 completes.
 .sp
 Any stripped changesets are stored in \fB.hg/strip\-backup\fP as a
-bundle (see \%\fBhg help bundle\fP\: and \%\fBhg help unbundle\fP\:). They can
-be restored by running \%\fBhg unbundle .hg/strip\-backup/BUNDLE\fP\:,
+bundle (see \fBhg help bundle\fP and \fBhg help unbundle\fP). They can
+be restored by running \fBhg unbundle .hg/strip\-backup/BUNDLE\fP,
 where BUNDLE is the bundle file created by the strip. Note that
 the local revision numbers will in general be different after the
 restore.
@@ -14198,7 +14170,7 @@
 Return 0 on success.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-r,  \-\-rev \ <REV[+]>
 .
@@ -14227,7 +14199,7 @@
 .BI \-B,  \-\-bookmark \ <VALUE[+]>
 .
 remove revs only reachable from given bookmark
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS transplant
@@ -14235,7 +14207,7 @@
 command to transplant changesets from another branch
 .sp
 This extension allows you to transplant changes to another parent revision,
-possibly in another repository. The transplant is done using \(aqdiff\(aq patches.
+possibly in another repository. The transplant is done using 'diff' patches.
 .sp
 Transplanted patches are recorded in .hg/transplant/transplants, as a
 map from a changeset hash to its hash in the source repository.
@@ -14245,9 +14217,9 @@
 transplant changesets from another branch:
 .sp
 .nf
-.ft C
+.ft
 hg transplant [\-s REPO] [\-b BRANCH [\-a]] [\-p REV] [\-m REV] [REV]...
-.ft P
+.ft
 .fi
 .sp
 Selected changesets will be applied on top of the current working
@@ -14264,9 +14236,9 @@
 of the form:
 .sp
 .nf
-.ft C
+.ft
 (transplanted from CHANGESETHASH)
-.ft P
+.ft
 .fi
 .sp
 You can rewrite the changelog message with the \-\-filter option.
@@ -14282,17 +14254,17 @@
 with \-\-branch will be transplanted.
 .sp
 Example:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 transplant all changes up to REV on top of your current revision:
 .sp
 .nf
-.ft C
+.ft
 hg transplant \-\-branch REV \-\-all
-.ft P
+.ft
 .fi
-.UNINDENT
+.RE
 .sp
 You can optionally mark selected transplanted changesets as merge
 changesets. You will not be prompted to transplant any ancestors
@@ -14300,17 +14272,17 @@
 normally instead of transplanting them.
 .sp
 Merge changesets may be transplanted directly by specifying the
-proper parent changeset by calling \%\fBhg transplant \-\-parent\fP\:.
+proper parent changeset by calling \fBhg transplant \-\-parent\fP.
 .sp
-If no merges or revisions are provided, \%\fBhg transplant\fP\: will
+If no merges or revisions are provided, \fBhg transplant\fP will
 start an interactive changeset browser.
 .sp
 If a changeset application fails, you can fix the merge by hand
-and then resume where you left off by calling \%\fBhg transplant
-\-\-continue/\-c\fP\:.
+and then resume where you left off by calling \fBhg transplant
+\-\-continue/\-c\fP.
 .sp
 Options:
-.INDENT 0.0
+.RS 0
 .TP
 .BI \-s,  \-\-source \ <REPO>
 .
@@ -14351,7 +14323,7 @@
 .BI \-\-filter \ <CMD>
 .
 filter changesets through command
-.UNINDENT
+.RE
 .sp
 [+] marked option can be specified multiple times
 .SS win32mbcs
@@ -14366,7 +14338,7 @@
 operation.
 .sp
 This extension is useful for:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 Japanese Windows users using shift_jis encoding.
@@ -14377,10 +14349,10 @@
 .
 All users who use a repository with one of problematic encodings on
 case\-insensitive file system.
-.UNINDENT
+.RE
 .sp
 This extension is not needed for:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 Any user who use only ASCII chars in path.
@@ -14387,10 +14359,10 @@
 .IP \(bu 2
 .
 Any user who do not use any of problematic encodings.
-.UNINDENT
+.RE
 .sp
 Note that there are some limitations on using this extension:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
 You should use single encoding in one repository.
@@ -14400,16 +14372,16 @@
 .IP \(bu 2
 .
 win32mbcs is not compatible with fixutf8 extension.
-.UNINDENT
+.RE
 .sp
 By default, win32mbcs uses encoding.encoding decided by Mercurial.
 You can specify the encoding by config option:
 .sp
 .nf
-.ft C
+.ft
 [win32mbcs]
 encoding = sjis
-.ft P
+.ft
 .fi
 .sp
 It is useful for the users who want to commit with UTF\-8 log message.
@@ -14416,8 +14388,8 @@
 .SS win32text
 .sp
 perform automatic newline conversion (DEPRECATED)
-.INDENT 0.0
-.INDENT 3.5
+.RS 0
+.RS 3
 .sp
 Deprecation: The win32text extension requires each user to configure
 the extension again and again for each clone since the configuration
@@ -14426,13 +14398,13 @@
 We have therefore made the \fBeol\fP as an alternative. The \fBeol\fP
 uses a version controlled file for its configuration and each clone
 will therefore use the right settings from the start.
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .sp
 To perform automatic newline conversion, use:
 .sp
 .nf
-.ft C
+.ft
 [extensions]
 win32text =
 [encode]
@@ -14442,17 +14414,17 @@
 [decode]
 ** = cleverdecode:
 # or ** = macdecode:
-.ft P
+.ft
 .fi
 .sp
 If not doing conversion, to make sure you do not commit CRLF/CR by accident:
 .sp
 .nf
-.ft C
+.ft
 [hooks]
 pretxncommit.crlf = python:hgext.win32text.forbidcrlf
 # or pretxncommit.cr = python:hgext.win32text.forbidcr
-.ft P
+.ft
 .fi
 .sp
 To do the same check on a server to prevent CRLF/CR from being
@@ -14459,11 +14431,11 @@
 pushed or pulled:
 .sp
 .nf
-.ft C
+.ft
 [hooks]
 pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf
 # or pretxnchangegroup.cr = python:hgext.win32text.forbidcr
-.ft P
+.ft
 .fi
 .SS zeroconf
 .sp
@@ -14474,33 +14446,33 @@
 without knowing their actual IP address.
 .sp
 To allow other people to discover your repository using run
-\%\fBhg serve\fP\: in your repository:
+\fBhg serve\fP in your repository:
 .sp
 .nf
-.ft C
+.ft
 $ cd test
 $ hg serve
-.ft P
+.ft
 .fi
 .sp
 You can discover Zeroconf\-enabled repositories by running
-\%\fBhg paths\fP\::
+\fBhg paths\fP:
 .sp
 .nf
-.ft C
+.ft
 $ hg paths
 zc\-test = http://example.com:8000/test
-.ft P
+.ft
 .fi
 .SH FILES
-.INDENT 0.0
+.RS 0
 .TP
 .B \fB/etc/mercurial/hgrc\fP, \fB$HOME/.hgrc\fP, \fB.hg/hgrc\fP
 .sp
 This file contains defaults and configuration. Values in
-\fB.hg/hgrc\fP override those in \fB$HOME/.hgrc\fP, and these override
+\fB\&.hg/hgrc\fP override those in \fB$HOME/.hgrc\fP, and these override
 settings made in the global \fB/etc/mercurial/hgrc\fP configuration.
-See \%\fBhgrc\fP(5)\: for details of the contents and format of these
+See \fBhgrc\fP(5) for details of the contents and format of these
 files.
 .TP
 .B \fB.hgignore\fP
@@ -14507,13 +14479,13 @@
 .sp
 This file contains regular expressions (one per line) that
 describe file names that should be ignored by \fBhg\fP. For details,
-see \%\fBhgignore\fP(5)\:.
+see \fBhgignore\fP(5).
 .TP
 .B \fB.hgsub\fP
 .sp
 This file defines the locations of all subrepositories, and
 tells where the subrepository checkouts came from. For details, see
-\%\fBhg help subrepos\fP\:.
+\fBhg help subrepos\fP.
 .TP
 .B \fB.hgsubstate\fP
 .sp
@@ -14528,7 +14500,7 @@
 .TP
 .B \fB.hg/last\-message.txt\fP
 .sp
-This file is used by \%\fBhg commit\fP\: to store a backup of the commit message
+This file is used by \fBhg commit\fP to store a backup of the commit message
 in case the commit fails.
 .TP
 .B \fB.hg/localtags\fP
@@ -14536,28 +14508,34 @@
 This file can be used to define local tags which are not shared among
 repositories. The file format is the same as for \fB.hgtags\fP, but it is
 encoded using the local system encoding.
-.UNINDENT
+.TP
+.B \fB/usr/demo/mercurial\fP
 .sp
+This directory contains assorted files which are part of the Mercurial
+distribution, but not core to its functionality.  They will generally
+need to be copied elsewhere to be of use.
+.RE
+.sp
 Some commands (e.g. revert) produce backup files ending in \fB.orig\fP,
 if the \fB.orig\fP file already exists and is not tracked by Mercurial,
 it will be overwritten.
 .SH BUGS
 .sp
-Probably lots, please post them to the mailing list (see \%Resources\:
+Probably lots, please post them to the mailing list (see Resources
 below) when you find them.
 .SH SEE ALSO
 .sp
-\%\fBhgignore\fP(5)\:, \%\fBhgrc\fP(5)\:
+\fBhgignore\fP(5), \fBhgrc\fP(5)
 .SH AUTHOR
 .sp
-Written by Matt Mackall <\%mpm@selenic.com\:>
+Written by Matt Mackall <mpm@selenic.com>
 .SH RESOURCES
 .sp
-Main Web Site: \%https://mercurial\-scm.org/\:
+Main Web Site: https://mercurial\-scm.org/
 .sp
-Source code repository: \%http://selenic.com/hg\:
+Source code repository: http://selenic.com/hg
 .sp
-Mailing list: \%http://selenic.com/mailman/listinfo/mercurial\:
+Mailing list: http://selenic.com/mailman/listinfo/mercurial
 .SH COPYING
 .sp
 Copyright (C) 2005\-2016 Matt Mackall.
--- mercurial-3.7.1/doc/hgignore.5.orig	Wed Feb  3 14:00:05 2016
+++ mercurial-3.7.1/doc/hgignore.5	Thu Feb  4 10:13:47 2016
@@ -3,33 +3,6 @@
 .TH HGIGNORE 5 "" "" "Mercurial Manual"
 .SH NAME
 hgignore \- syntax for Mercurial ignore files
-.
-.nr rst2man-indent-level 0
-.
-.de1 rstReportMargin
-\\$1 \\n[an-margin]
-level \\n[rst2man-indent-level]
-level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
--
-\\n[rst2man-indent0]
-\\n[rst2man-indent1]
-\\n[rst2man-indent2]
-..
-.de1 INDENT
-.\" .rstReportMargin pre:
-. RS \\$1
-. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
-. nr rst2man-indent-level +1
-.\" .rstReportMargin post:
-..
-.de UNINDENT
-. RE
-.\" indent \\n[an-margin]
-.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
-.nr rst2man-indent-level -1
-.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
-.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
-..
 .SH SYNOPSIS
 .sp
 The Mercurial system uses a file called \fB.hgignore\fP in the root
@@ -55,16 +28,16 @@
 .sp
 In addition, a Mercurial configuration file can reference a set of
 per\-user or global ignore files. See the \fBignore\fP configuration
-key on the \fB[ui]\fP section of \%\fBhg help config\fP\: for details of how to
+key on the \fB[ui]\fP section of \fBhg help config\fP for details of how to
 configure these files.
 .sp
-To control Mercurial\(aqs handling of files that it manages, many
+To control Mercurial's handling of files that it manages, many
 commands support the \fB\-I\fP and \fB\-X\fP options; see
-\%\fBhg help <command>\fP\: and \%\fBhg help patterns\fP\: for details.
+\fBhg help <command>\fP and \fBhg help patterns\fP for details.
 .sp
 Files that are already tracked are not affected by .hgignore, even
 if they appear in .hgignore. An untracked file X can be explicitly
-added with \%\fBhg add X\fP\:, even if X would be excluded by a pattern
+added with \fBhg add X\fP, even if X would be excluded by a pattern
 in .hgignore.
 .SH SYNTAX
 .sp
@@ -79,13 +52,13 @@
 To change the syntax used, use a line of the following form:
 .sp
 .nf
-.ft C
+.ft
 syntax: NAME
-.ft P
+.ft
 .fi
 .sp
 where \fBNAME\fP is one of the following:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBregexp\fP
 .sp
@@ -94,7 +67,7 @@
 .B \fBglob\fP
 .sp
 Shell\-style glob.
-.UNINDENT
+.RE
 .sp
 The chosen syntax stays in effect when parsing all patterns that
 follow, until another syntax is selected.
@@ -106,11 +79,11 @@
 .sp
 Subdirectories can have their own .hgignore settings by adding
 \fBsubinclude:path/to/subdir/.hgignore\fP to the root \fB.hgignore\fP. See
-\%\fBhg help patterns\fP\: for details on \fBsubinclude:\fP and \fBinclude:\fP.
+\fBhg help patterns\fP for details on \fBsubinclude:\fP and \fBinclude:\fP.
 .IP Note
 .
 Patterns specified in other than \fB.hgignore\fP are always rooted.
-Please see \%\fBhg help patterns\fP\: for details.
+Please see \fBhg help patterns\fP for details.
 .RE
 .SH EXAMPLE
 .sp
@@ -117,7 +90,7 @@
 Here is an example ignore file.
 .sp
 .nf
-.ft C
+.ft
 # use glob syntax.
 syntax: glob
 
@@ -128,16 +101,16 @@
 # switch to regexp syntax.
 syntax: regexp
 ^\e.pc/
-.ft P
+.ft
 .fi
 .SH AUTHOR
 .sp
-Vadim Gelfer <\%vadim.gelfer@gmail.com\:>
+Vadim Gelfer <vadim.gelfer@gmail.com>
 .sp
-Mercurial was written by Matt Mackall <\%mpm@selenic.com\:>.
+Mercurial was written by Matt Mackall <mpm@selenic.com>.
 .SH SEE ALSO
 .sp
-\%\fBhg\fP(1)\:, \%\fBhgrc\fP(5)\:
+\fBhg\fP(1), \fBhgrc\fP(5)
 .SH COPYING
 .sp
 This manual page is copyright 2006 Vadim Gelfer.
--- mercurial-3.7.1/doc/hgrc.5.orig	Wed Feb  3 14:00:02 2016
+++ mercurial-3.7.1/doc/hgrc.5	Thu Feb  4 10:13:51 2016
@@ -3,33 +3,6 @@
 .TH HGRC 5 "" "" "Mercurial Manual"
 .SH NAME
 hgrc \- configuration files for Mercurial
-.
-.nr rst2man-indent-level 0
-.
-.de1 rstReportMargin
-\\$1 \\n[an-margin]
-level \\n[rst2man-indent-level]
-level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
--
-\\n[rst2man-indent0]
-\\n[rst2man-indent1]
-\\n[rst2man-indent2]
-..
-.de1 INDENT
-.\" .rstReportMargin pre:
-. RS \\$1
-. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
-. nr rst2man-indent-level +1
-.\" .rstReportMargin post:
-..
-.de UNINDENT
-. RE
-.\" indent \\n[an-margin]
-.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
-.nr rst2man-indent-level -1
-.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
-.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
-..
 .SH DESCRIPTION
 .sp
 The Mercurial system uses a set of configuration files to control
@@ -36,11 +9,11 @@
 aspects of its behavior.
 .SH TROUBLESHOOTING
 .sp
-If you\(aqre having problems with your configuration,
-\%\fBhg config \-\-debug\fP\: can help you understand what is introducing
+If you're having problems with your configuration,
+\fBhg config \-\-debug\fP can help you understand what is introducing
 a setting into your environment.
 .sp
-See \%\fBhg help config.syntax\fP\: and \%\fBhg help config.files\fP\:
+See \fBhg help config.syntax\fP and \fBhg help config.files\fP
 for information about how and where to override things.
 .SH STRUCTURE
 .sp
@@ -49,15 +22,15 @@
 by \fBname = value\fP entries:
 .sp
 .nf
-.ft C
+.ft
 [ui]
 username = Firstname Lastname <firstname.lastname@example.net>
 verbose = True
-.ft P
+.ft
 .fi
 .sp
 The above entries will be referred to as \fBui.username\fP and
-\fBui.verbose\fP, respectively. See \%\fBhg help config.syntax\fP\:.
+\fBui.verbose\fP, respectively. See \fBhg help config.syntax\fP.
 .SH FILES
 .sp
 Mercurial reads configuration data from several files, if they exist.
@@ -67,16 +40,11 @@
 Local configuration is put into the per\-repository \fB<repo>/.hg/hgrc\fP file.
 .sp
 Global configuration like the username setting is typically put into:
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
-\fB%USERPROFILE%\emercurial.ini\fP (on Windows)
-.UNINDENT
-.INDENT 0.0
-.IP \(bu 2
-.
 \fB$HOME/.hgrc\fP (on Unix, Plan9)
-.UNINDENT
+.RE
 .sp
 The names of these files depend on the system on which Mercurial is
 installed. \fB*.rc\fP files from a single directory are read in
@@ -84,8 +52,8 @@
 paths are given below, settings from earlier paths override later
 ones.
 .sp
-On Unix, the following files are consulted:
-.INDENT 0.0
+The following files are consulted:
+.RS 0
 .IP \(bu 2
 .
 \fB<repo>/.hg/hgrc\fP (per\-repository)
@@ -107,79 +75,16 @@
 .IP \(bu 2
 .
 \fB<internal>/default.d/*.rc\fP (defaults)
-.UNINDENT
-.sp
-On Windows, the following files are consulted:
-.INDENT 0.0
-.IP \(bu 2
-.
-\fB<repo>/.hg/hgrc\fP (per\-repository)
-.IP \(bu 2
-.
-\fB%USERPROFILE%\e.hgrc\fP (per\-user)
-.IP \(bu 2
-.
-\fB%USERPROFILE%\eMercurial.ini\fP (per\-user)
-.IP \(bu 2
-.
-\fB%HOME%\e.hgrc\fP (per\-user)
-.IP \(bu 2
-.
-\fB%HOME%\eMercurial.ini\fP (per\-user)
-.IP \(bu 2
-.
-\fBHKEY_LOCAL_MACHINE\eSOFTWARE\eMercurial\fP (per\-installation)
-.IP \(bu 2
-.
-\fB<install\-dir>\ehgrc.d\e*.rc\fP (per\-installation)
-.IP \(bu 2
-.
-\fB<install\-dir>\eMercurial.ini\fP (per\-installation)
-.IP \(bu 2
-.
-\fB<internal>/default.d/*.rc\fP (defaults)
-.UNINDENT
-.IP Note
-.
-The registry key \fBHKEY_LOCAL_MACHINE\eSOFTWARE\eWow6432Node\eMercurial\fP
-is used when running 32\-bit Python on 64\-bit Windows.
 .RE
 .sp
-On Windows 9x, \fB%HOME%\fP is replaced by \fB%APPDATA%\fP.
-.sp
-On Plan9, the following files are consulted:
-.INDENT 0.0
-.IP \(bu 2
-.
-\fB<repo>/.hg/hgrc\fP (per\-repository)
-.IP \(bu 2
-.
-\fB$home/lib/hgrc\fP (per\-user)
-.IP \(bu 2
-.
-\fB<install\-root>/lib/mercurial/hgrc\fP (per\-installation)
-.IP \(bu 2
-.
-\fB<install\-root>/lib/mercurial/hgrc.d/*.rc\fP (per\-installation)
-.IP \(bu 2
-.
-\fB/lib/mercurial/hgrc\fP (per\-system)
-.IP \(bu 2
-.
-\fB/lib/mercurial/hgrc.d/*.rc\fP (per\-system)
-.IP \(bu 2
-.
-\fB<internal>/default.d/*.rc\fP (defaults)
-.UNINDENT
-.sp
 Per\-repository configuration options only apply in a
 particular repository. This file is not version\-controlled, and
 will not get transferred during a "clone" operation. Options in
 this file override options in all other configuration files.
 .sp
-On Plan 9 and Unix, most of this file will be ignored if it doesn\(aqt
+On Unix, most of this file will be ignored if it doesn't
 belong to a trusted user or to a trusted group. See
-\%\fBhg help config.trusted\fP\: for more details.
+\fBhg help config.trusted\fP for more details.
 .sp
 Per\-user configuration file(s) are for the user running Mercurial.  Options
 in these files apply to all Mercurial commands executed by this user in any
@@ -197,10 +102,8 @@
 .sp
 Per\-installation configuration files are for the system on
 which Mercurial is running. Options in these files apply to all
-Mercurial commands executed by any user in any directory. Registry
-keys contain PATH\-like strings, every part of which must reference
-a \fBMercurial.ini\fP file or be a directory where \fB*.rc\fP files will
-be read.  Mercurial checks each of these locations in the specified
+Mercurial commands executed by any user in any directory.
+Mercurial checks each of these locations in the specified
 order until one or more configuration files are detected.
 .sp
 Per\-system configuration files are for the system on which Mercurial
@@ -221,12 +124,12 @@
 \fBconfiguration keys\fP):
 .sp
 .nf
-.ft C
+.ft
 [spam]
 eggs=ham
 green=
    eggs
-.ft P
+.ft
 .fi
 .sp
 Each line contains one entry. If the lines that follow are indented,
@@ -238,12 +141,12 @@
 will use the value that was configured last. As an example:
 .sp
 .nf
-.ft C
+.ft
 [spam]
 eggs=large
 ham=serrano
 eggs=small
-.ft P
+.ft
 .fi
 .sp
 This would set the configuration key named \fBeggs\fP to \fBsmall\fP.
@@ -253,7 +156,7 @@
 example:
 .sp
 .nf
-.ft C
+.ft
 [foo]
 eggs=large
 ham=serrano
@@ -268,7 +171,7 @@
 ham=prosciutto
 eggs=medium
 bread=toasted
-.ft P
+.ft
 .fi
 .sp
 This would set the \fBeggs\fP, \fBham\fP, and \fBbread\fP configuration keys
@@ -290,9 +193,9 @@
 \fBfile\fP. This lets you do something like:
 .sp
 .nf
-.ft C
+.ft
 %include ~/.hgrc.d/$HOST.rc
-.ft P
+.ft
 .fi
 .sp
 to include a different configuration file on each computer you use.
@@ -309,9 +212,9 @@
 placed in double quotation marks:
 .sp
 .nf
-.ft C
+.ft
 allow_read = "John Doe, PhD", brian, betty
-.ft P
+.ft
 .fi
 .sp
 Quotation marks can be escaped by prefixing them with a backslash. Only
@@ -336,17 +239,17 @@
 Alias definitions consist of lines of the form:
 .sp
 .nf
-.ft C
+.ft
 <alias> = <command> [<argument>]...
-.ft P
+.ft
 .fi
 .sp
 For example, this definition:
 .sp
 .nf
-.ft C
+.ft
 latest = log \-\-limit 5
-.ft P
+.ft
 .fi
 .sp
 creates a new command \fBlatest\fP that shows only the five most recent
@@ -353,9 +256,9 @@
 changesets. You can define subsequent aliases using earlier ones:
 .sp
 .nf
-.ft C
+.ft
 stable5 = latest \-b stable
-.ft P
+.ft
 .fi
 .IP Note
 .
@@ -369,9 +272,9 @@
 run arbitrary commands. As an example,
 .sp
 .nf
-.ft C
+.ft
 echo = !echo $@
-.ft P
+.ft
 .fi
 .sp
 will let you do \fBhg echo foo\fP to have \fBfoo\fP printed in your
@@ -378,9 +281,9 @@
 terminal. A better example might be:
 .sp
 .nf
-.ft C
+.ft
 purge = !$HG status \-\-no\-status \-\-unknown \-0 | xargs \-0 rm
-.ft P
+.ft
 .fi
 .sp
 which will make \fBhg purge\fP delete all unknown files in the
@@ -408,9 +311,9 @@
 .SS \fBannotate\fP
 .sp
 Settings used when displaying file annotations. All values are
-Booleans and default to False. See \%\fBhg help config.diff\fP\: for
+Booleans and default to False. See \fBhg help config.diff\fP for
 related options for the diff command.
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBignorews\fP
 .sp
@@ -423,20 +326,20 @@
 .B \fBignoreblanklines\fP
 .sp
 Ignore changes whose lines are all blank.
-.UNINDENT
+.RE
 .SS \fBauth\fP
 .sp
 Authentication credentials for HTTP authentication. This section
 allows you to store usernames and passwords for use when logging
-\fIinto\fP HTTP servers. See \%\fBhg help config.web\fP\: if
+\fIinto\fP HTTP servers. See \fBhg help config.web\fP if
 you want to configure \fIwho\fP can login to your HTTP server.
 .sp
 Each line has the following format:
 .sp
 .nf
-.ft C
+.ft
 <name>.<argument> = <value>
-.ft P
+.ft
 .fi
 .sp
 where \fB<name>\fP is used to group arguments into authentication
@@ -443,7 +346,7 @@
 entries. Example:
 .sp
 .nf
-.ft C
+.ft
 foo.prefix = hg.intevation.org/mercurial
 foo.username = foo
 foo.password = bar
@@ -453,11 +356,11 @@
 bar.key = path/to/file.key
 bar.cert = path/to/file.cert
 bar.schemes = https
-.ft P
+.ft
 .fi
 .sp
 Supported arguments:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBprefix\fP
 .sp
@@ -464,7 +367,7 @@
 Either \fB*\fP or a URI prefix with or without the scheme part.
 The authentication entry with the longest matching prefix is used
 (where \fB*\fP matches everything and counts as a match of length
-1). If the prefix doesn\(aqt include a scheme, the match is performed
+1). If the prefix doesn't include a scheme, the match is performed
 against the URI with its scheme stripped as well, and the schemes
 argument, q.v., is then subsequently consulted.
 .TP
@@ -496,195 +399,195 @@
 .B \fBschemes\fP
 .sp
 Optional. Space separated list of URI schemes to use this
-authentication entry with. Only used if the prefix doesn\(aqt include
+authentication entry with. Only used if the prefix doesn't include
 a scheme. Supported schemes are http and https. They will match
 static\-http and static\-https respectively, as well.
 (default: https)
-.UNINDENT
+.RE
 .sp
 If no suitable authentication entry is found, the user is prompted
 for credentials as usual if required by the remote.
 .SS \fBcommittemplate\fP
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBchangeset\fP
 .sp
 String: configuration in this section is used as the template to
 customize the text shown in the editor when committing.
-.UNINDENT
+.RE
 .sp
 In addition to pre\-defined template keywords, commit log specific one
 below can be used for customization:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBextramsg\fP
 .sp
-String: Extra message (typically \(aqLeave message empty to abort
-commit.\(aq). This may be changed by some commands or extensions.
-.UNINDENT
+String: Extra message (typically 'Leave message empty to abort
+commit.'). This may be changed by some commands or extensions.
+.RE
 .sp
 For example, the template configuration below shows as same text as
 one shown by default:
 .sp
 .nf
-.ft C
+.ft
 [committemplate]
 changeset = {desc}\en\en
-    HG: Enter commit message.  Lines beginning with \(aqHG:\(aq are removed.
+    HG: Enter commit message.  Lines beginning with 'HG:' are removed.
     HG: {extramsg}
     HG: \-\-
     HG: user: {author}\en{ifeq(p2rev, "\-1", "",
    "HG: branch merge\en")
-   }HG: branch \(aq{branch}\(aq\en{if(activebookmark,
-   "HG: bookmark \(aq{activebookmark}\(aq\en")   }{subrepos %
+   }HG: branch '{branch}'\en{if(activebookmark,
+   "HG: bookmark '{activebookmark}'\en")   }{subrepos %
    "HG: subrepo {subrepo}\en"              }{file_adds %
    "HG: added {file}\en"                   }{file_mods %
    "HG: changed {file}\en"                 }{file_dels %
    "HG: removed {file}\en"                 }{if(files, "",
    "HG: no files changed\en")}
-.ft P
+.ft
 .fi
 .IP Note
 .
-For some problematic encodings (see \%\fBhg help win32mbcs\fP\: for
+For some problematic encodings (see \fBhg help win32mbcs\fP for
 detail), this customization should be configured carefully, to
 avoid showing broken characters.
 .sp
 For example, if a multibyte character ending with backslash (0x5c) is
-followed by the ASCII character \(aqn\(aq in the customized template,
-the sequence of backslash and \(aqn\(aq is treated as line\-feed unexpectedly
+followed by the ASCII character 'n' in the customized template,
+the sequence of backslash and 'n' is treated as line\-feed unexpectedly
 (and the multibyte character is broken, too).
 .RE
 .sp
 Customized template is used for commands below (\fB\-\-edit\fP may be
 required):
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
-\%\fBhg backout\fP\:
+\fBhg backout\fP
 .IP \(bu 2
 .
-\%\fBhg commit\fP\:
+\fBhg commit\fP
 .IP \(bu 2
 .
-\%\fBhg fetch\fP\: (for merge commit only)
+\fBhg fetch\fP (for merge commit only)
 .IP \(bu 2
 .
-\%\fBhg graft\fP\:
+\fBhg graft\fP
 .IP \(bu 2
 .
-\%\fBhg histedit\fP\:
+\fBhg histedit\fP
 .IP \(bu 2
 .
-\%\fBhg import\fP\:
+\fBhg import\fP
 .IP \(bu 2
 .
-\%\fBhg qfold\fP\:, \%\fBhg qnew\fP\: and \%\fBhg qrefresh\fP\:
+\fBhg qfold\fP, \fBhg qnew\fP and \fBhg qrefresh\fP
 .IP \(bu 2
 .
-\%\fBhg rebase\fP\:
+\fBhg rebase\fP
 .IP \(bu 2
 .
-\%\fBhg shelve\fP\:
+\fBhg shelve\fP
 .IP \(bu 2
 .
-\%\fBhg sign\fP\:
+\fBhg sign\fP
 .IP \(bu 2
 .
-\%\fBhg tag\fP\:
+\fBhg tag\fP
 .IP \(bu 2
 .
-\%\fBhg transplant\fP\:
-.UNINDENT
+\fBhg transplant\fP
+.RE
 .sp
 Configuring items below instead of \fBchangeset\fP allows showing
 customized message only for specific actions, or showing different
 messages for each action.
-.INDENT 0.0
+.RS 0
 .IP \(bu 2
 .
-\fBchangeset.backout\fP for \%\fBhg backout\fP\:
+\fBchangeset.backout\fP for \fBhg backout\fP
 .IP \(bu 2
 .
-\fBchangeset.commit.amend.merge\fP for \%\fBhg commit \-\-amend\fP\: on merges
+\fBchangeset.commit.amend.merge\fP for \fBhg commit \-\-amend\fP on merges
 .IP \(bu 2
 .
-\fBchangeset.commit.amend.normal\fP for \%\fBhg commit \-\-amend\fP\: on other
+\fBchangeset.commit.amend.normal\fP for \fBhg commit \-\-amend\fP on other
 .IP \(bu 2
 .
-\fBchangeset.commit.normal.merge\fP for \%\fBhg commit\fP\: on merges
+\fBchangeset.commit.normal.merge\fP for \fBhg commit\fP on merges
 .IP \(bu 2
 .
-\fBchangeset.commit.normal.normal\fP for \%\fBhg commit\fP\: on other
+\fBchangeset.commit.normal.normal\fP for \fBhg commit\fP on other
 .IP \(bu 2
 .
-\fBchangeset.fetch\fP for \%\fBhg fetch\fP\: (impling merge commit)
+\fBchangeset.fetch\fP for \fBhg fetch\fP (impling merge commit)
 .IP \(bu 2
 .
-\fBchangeset.gpg.sign\fP for \%\fBhg sign\fP\:
+\fBchangeset.gpg.sign\fP for \fBhg sign\fP
 .IP \(bu 2
 .
-\fBchangeset.graft\fP for \%\fBhg graft\fP\:
+\fBchangeset.graft\fP for \fBhg graft\fP
 .IP \(bu 2
 .
-\fBchangeset.histedit.edit\fP for \fBedit\fP of \%\fBhg histedit\fP\:
+\fBchangeset.histedit.edit\fP for \fBedit\fP of \fBhg histedit\fP
 .IP \(bu 2
 .
-\fBchangeset.histedit.fold\fP for \fBfold\fP of \%\fBhg histedit\fP\:
+\fBchangeset.histedit.fold\fP for \fBfold\fP of \fBhg histedit\fP
 .IP \(bu 2
 .
-\fBchangeset.histedit.mess\fP for \fBmess\fP of \%\fBhg histedit\fP\:
+\fBchangeset.histedit.mess\fP for \fBmess\fP of \fBhg histedit\fP
 .IP \(bu 2
 .
-\fBchangeset.histedit.pick\fP for \fBpick\fP of \%\fBhg histedit\fP\:
+\fBchangeset.histedit.pick\fP for \fBpick\fP of \fBhg histedit\fP
 .IP \(bu 2
 .
-\fBchangeset.import.bypass\fP for \%\fBhg import \-\-bypass\fP\:
+\fBchangeset.import.bypass\fP for \fBhg import \-\-bypass\fP
 .IP \(bu 2
 .
-\fBchangeset.import.normal.merge\fP for \%\fBhg import\fP\: on merges
+\fBchangeset.import.normal.merge\fP for \fBhg import\fP on merges
 .IP \(bu 2
 .
-\fBchangeset.import.normal.normal\fP for \%\fBhg import\fP\: on other
+\fBchangeset.import.normal.normal\fP for \fBhg import\fP on other
 .IP \(bu 2
 .
-\fBchangeset.mq.qnew\fP for \%\fBhg qnew\fP\:
+\fBchangeset.mq.qnew\fP for \fBhg qnew\fP
 .IP \(bu 2
 .
-\fBchangeset.mq.qfold\fP for \%\fBhg qfold\fP\:
+\fBchangeset.mq.qfold\fP for \fBhg qfold\fP
 .IP \(bu 2
 .
-\fBchangeset.mq.qrefresh\fP for \%\fBhg qrefresh\fP\:
+\fBchangeset.mq.qrefresh\fP for \fBhg qrefresh\fP
 .IP \(bu 2
 .
-\fBchangeset.rebase.collapse\fP for \%\fBhg rebase \-\-collapse\fP\:
+\fBchangeset.rebase.collapse\fP for \fBhg rebase \-\-collapse\fP
 .IP \(bu 2
 .
-\fBchangeset.rebase.merge\fP for \%\fBhg rebase\fP\: on merges
+\fBchangeset.rebase.merge\fP for \fBhg rebase\fP on merges
 .IP \(bu 2
 .
-\fBchangeset.rebase.normal\fP for \%\fBhg rebase\fP\: on other
+\fBchangeset.rebase.normal\fP for \fBhg rebase\fP on other
 .IP \(bu 2
 .
-\fBchangeset.shelve.shelve\fP for \%\fBhg shelve\fP\:
+\fBchangeset.shelve.shelve\fP for \fBhg shelve\fP
 .IP \(bu 2
 .
-\fBchangeset.tag.add\fP for \%\fBhg tag\fP\: without \fB\-\-remove\fP
+\fBchangeset.tag.add\fP for \fBhg tag\fP without \fB\-\-remove\fP
 .IP \(bu 2
 .
-\fBchangeset.tag.remove\fP for \%\fBhg tag \-\-remove\fP\:
+\fBchangeset.tag.remove\fP for \fBhg tag \-\-remove\fP
 .IP \(bu 2
 .
-\fBchangeset.transplant.merge\fP for \%\fBhg transplant\fP\: on merges
+\fBchangeset.transplant.merge\fP for \fBhg transplant\fP on merges
 .IP \(bu 2
 .
-\fBchangeset.transplant.normal\fP for \%\fBhg transplant\fP\: on other
-.UNINDENT
+\fBchangeset.transplant.normal\fP for \fBhg transplant\fP on other
+.RE
 .sp
 These dot\-separated lists of names are treated as hierarchical ones.
 For example, \fBchangeset.tag.remove\fP customizes the commit message
-only for \%\fBhg tag \-\-remove\fP\:, but \fBchangeset.tag\fP customizes the
-commit message for \%\fBhg tag\fP\: regardless of \fB\-\-remove\fP option.
+only for \fBhg tag \-\-remove\fP, but \fBchangeset.tag\fP customizes the
+commit message for \fBhg tag\fP regardless of \fB\-\-remove\fP option.
 .sp
 When the external editor is invoked for a commit, the corresponding
 dot\-separated list of names without the \fBchangeset.\fP prefix
@@ -696,7 +599,7 @@
 below can be referred as \fB{listupfiles}\fP:
 .sp
 .nf
-.ft C
+.ft
 [committemplate]
 listupfiles = {file_adds %
    "HG: added {file}\en"     }{file_mods %
@@ -703,7 +606,7 @@
    "HG: changed {file}\en"   }{file_dels %
    "HG: removed {file}\en"   }{if(files, "",
    "HG: no files changed\en")}
-.ft P
+.ft
 .fi
 .SS \fBdecode/encode\fP
 .sp
@@ -727,7 +630,7 @@
 Pipe example:
 .sp
 .nf
-.ft C
+.ft
 [encode]
 # uncompress gzip files on checkin to improve delta compression
 # note: not necessarily a good idea, just an example
@@ -735,9 +638,9 @@
 
 [decode]
 # recompress gzip files when writing them to the working dir (we
-# can safely omit "pipe:", because it\(aqs the default)
+# can safely omit "pipe:", because it's the default)
 *.gz = gzip
-.ft P
+.ft
 .fi
 .sp
 A \fBtempfile:\fP command is a template. The string \fBINFILE\fP is replaced
@@ -745,12 +648,6 @@
 filtered by the command. The string \fBOUTFILE\fP is replaced with the name
 of an empty temporary file, where the filtered data must be written by
 the command.
-.IP Note
-.
-The tempfile mechanism is recommended for Windows systems,
-where the standard shell I/O redirection operators often have
-strange effects and may corrupt the contents of your files.
-.RE
 .sp
 This filter mechanism is used internally by the \fBeol\fP extension to
 translate line ending characters between Windows (CRLF) and Unix (LF)
@@ -757,20 +654,20 @@
 format. We suggest you use the \fBeol\fP extension for convenience.
 .SS \fBdefaults\fP
 .sp
-(defaults are deprecated. Don\(aqt use them. Use aliases instead.)
+(defaults are deprecated. Don't use them. Use aliases instead.)
 .sp
 Use the \fB[defaults]\fP section to define command defaults, i.e. the
 default options/arguments to pass to the specified commands.
 .sp
-The following example makes \%\fBhg log\fP\: run in verbose mode, and
-\%\fBhg status\fP\: show only the modified files, by default:
+The following example makes \fBhg log\fP run in verbose mode, and
+\fBhg status\fP show only the modified files, by default:
 .sp
 .nf
-.ft C
+.ft
 [defaults]
 log = \-v
 status = \-m
-.ft P
+.ft
 .fi
 .sp
 The actual commands, instead of their aliases, must be used when
@@ -779,9 +676,9 @@
 .SS \fBdiff\fP
 .sp
 Settings used when displaying diffs. Everything except for \fBunified\fP
-is a Boolean and defaults to False. See \%\fBhg help config.annotate\fP\:
+is a Boolean and defaults to False. See \fBhg help config.annotate\fP
 for related options for the annotate command.
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBgit\fP
 .sp
@@ -793,11 +690,11 @@
 .TP
 .B \fBnodates\fP
 .sp
-Don\(aqt include dates in diff headers.
+Don't include dates in diff headers.
 .TP
 .B \fBnoprefix\fP
 .sp
-Omit \(aqa/\(aq and \(aqb/\(aq prefixes from filenames. Ignored in plain mode.
+Omit 'a/' and 'b/' prefixes from filenames. Ignored in plain mode.
 .TP
 .B \fBshowfunc\fP
 .sp
@@ -818,11 +715,11 @@
 .B \fBunified\fP
 .sp
 Number of lines of context to show.
-.UNINDENT
+.RE
 .SS \fBemail\fP
 .sp
 Settings for extensions that send email messages.
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBfrom\fP
 .sp
@@ -831,16 +728,16 @@
 .TP
 .B \fBto\fP
 .sp
-Optional. Comma\-separated list of recipients\(aq email addresses.
+Optional. Comma\-separated list of recipients' email addresses.
 .TP
 .B \fBcc\fP
 .sp
-Optional. Comma\-separated list of carbon copy recipients\(aq
+Optional. Comma\-separated list of carbon copy recipients'
 email addresses.
 .TP
 .B \fBbcc\fP
 .sp
-Optional. Comma\-separated list of blind carbon copy recipients\(aq
+Optional. Comma\-separated list of blind carbon copy recipients'
 email addresses.
 .TP
 .B \fBmethod\fP
@@ -860,10 +757,10 @@
 first character set to which conversion from local encoding
 (\fB$HGENCODING\fP, \fBui.fallbackencoding\fP) succeeds. If correct
 conversion fails, the text in question is sent as is.
-(default: \(aq\(aq)
+(default: '')
 .sp
 Order of outgoing email character sets:
-.INDENT 7.0
+.RS 7
 .IP 1. 3
 .
 \fBus\-ascii\fP: always first, regardless of settings
@@ -879,13 +776,13 @@
 .IP 5. 3
 .
 \fButf\-8\fP: always last, regardless of settings
-.UNINDENT
-.UNINDENT
+.RE
+.RE
 .sp
 Email example:
 .sp
 .nf
-.ft C
+.ft
 [email]
 from = Joseph User <joe.user@example.com>
 method = /usr/sbin/sendmail
@@ -892,7 +789,7 @@
 # charsets for western Europeans
 # us\-ascii, utf\-8 omitted, as they are tried first and last
 charsets = iso\-8859\-1, iso\-8859\-15, windows\-1252
-.ft P
+.ft
 .fi
 .SS \fBextensions\fP
 .sp
@@ -899,7 +796,7 @@
 Mercurial has an extension mechanism for adding new features. To
 enable an extension, create an entry for it in this section.
 .sp
-If you know that the extension is already in Python\(aqs search path,
+If you know that the extension is already in Python's search path,
 you can give the name of the module, followed by \fB=\fP, with nothing
 after the \fB=\fP.
 .sp
@@ -914,16 +811,16 @@
 Example for \fB~/.hgrc\fP:
 .sp
 .nf
-.ft C
+.ft
 [extensions]
-# (the color extension will get loaded from Mercurial\(aqs path)
+# (the color extension will get loaded from Mercurial's path)
 color =
 # (this extension will get loaded from the file specified)
 myfeature = ~/.hgext/myfeature.py
-.ft P
+.ft
 .fi
 .SS \fBformat\fP
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBusegeneraldelta\fP
 .sp
@@ -968,7 +865,7 @@
 Repositories with this on\-disk format require Mercurial version 0.9.4.
 .sp
 Enabled by default.
-.UNINDENT
+.RE
 .SS \fBgraph\fP
 .sp
 Web graph view configuration. This section let you change graph
@@ -978,9 +875,9 @@
 Each line has the following format:
 .sp
 .nf
-.ft C
+.ft
 <branch>.<argument> = <value>
-.ft P
+.ft
 .fi
 .sp
 where \fB<branch>\fP is the name of the branch being
@@ -987,17 +884,17 @@
 customized. Example:
 .sp
 .nf
-.ft C
+.ft
 [graph]
 # 2px width
 default.width = 2
 # red color
 default.color = FF0000
-.ft P
+.ft
 .fi
 .sp
 Supported arguments:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBwidth\fP
 .sp
@@ -1006,7 +903,7 @@
 .B \fBcolor\fP
 .sp
 Set branch edges color in hexadecimal RGB notation.
-.UNINDENT
+.RE
 .SS \fBhooks\fP
 .sp
 Commands or Python functions that get automatically executed by
@@ -1020,7 +917,7 @@
 Example \fB.hg/hgrc\fP:
 .sp
 .nf
-.ft C
+.ft
 [hooks]
 # update working directory after adding changesets
 changegroup.update = hg update
@@ -1030,13 +927,13 @@
 incoming.autobuild = /my/build/hook
 # force autobuild hook to run before other incoming hooks
 priority.incoming.autobuild = 1
-.ft P
+.ft
 .fi
 .sp
 Most hooks are run with environment variables set that give useful
 additional information. For each hook below, the environment
 variables it is passed are listed with names of the form \fB$HG_foo\fP.
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBchangegroup\fP
 .sp
@@ -1060,7 +957,7 @@
 .sp
 Run after sending changes from local repository to another. ID of
 first changeset sent is in \fB$HG_NODE\fP. Source of operation is in
-\fB$HG_SOURCE\fP; Also see \%\fBhg help config.preoutgoing\fP\: hook.
+\fB$HG_SOURCE\fP; Also see \fBhg help config.preoutgoing\fP hook.
 .TP
 .B \fBpost\-<command>\fP
 .sp
@@ -1080,7 +977,7 @@
 representations of the data internally passed to <command>. \fB$HG_OPTS\fP
 is a dictionary of options (with unspecified options set to their
 defaults). \fB$HG_PATS\fP is a list of arguments. If the hook returns
-failure, the command doesn\(aqt execute and Mercurial returns the failure
+failure, the command doesn't execute and Mercurial returns the failure
 code.
 .TP
 .B \fBprechangegroup\fP
@@ -1152,12 +1049,12 @@
 .sp
 Run after any repository transaction has been committed. At this
 point, the transaction can no longer be rolled back. The hook will run
-after the lock is released. See \%\fBhg help config.pretxnclose\fP\: docs for
+after the lock is released. See \fBhg help config.pretxnclose\fP docs for
 details about available variables.
 .TP
 .B \fBtxnabort\fP
 .sp
-Run when a transaction is aborted. See \%\fBhg help config.pretxnclose\fP\:
+Run when a transaction is aborted. See \fBhg help config.pretxnclose\fP
 docs for details about available variables.
 .TP
 .B \fBpretxnchangegroup\fP
@@ -1211,7 +1108,7 @@
 new parent is in \fB$HG_PARENT1\fP. If merge, ID of second new parent is
 in \fB$HG_PARENT2\fP. If the update succeeded, \fB$HG_ERROR=0\fP. If the
 update failed (e.g. because conflicts not resolved), \fB$HG_ERROR=1\fP.
-.UNINDENT
+.RE
 .IP Note
 .
 It is generally better to use standard hooks rather than the
@@ -1220,21 +1117,14 @@
 Also, hooks like "commit" will be called in all contexts that
 generate a commit (e.g. tag) and not just the commit command.
 .RE
-.IP Note
-.
-Environment variables with empty values may not be passed to
-hooks on platforms such as Windows. As an example, \fB$HG_PARENT2\fP
-will have an empty value under Unix\-like platforms for non\-merge
-changesets, while it will not be available at all under Windows.
-.RE
 .sp
 The syntax for Python hooks is as follows:
 .sp
 .nf
-.ft C
+.ft
 hookname = python:modulename.submodule.callable
 hookname = python:/path/to/python/module.py:callable
-.ft P
+.ft
 .fi
 .sp
 Python hooks are run within the Mercurial process. Each hook is
@@ -1258,10 +1148,10 @@
 For example:
 .sp
 .nf
-.ft C
+.ft
 [hostfingerprints]
 hg.intevation.org = fa:1f:d9:48:f1:e7:74:30:38:8d:d8:58:b6:94:b8:58:28:7d:8b:d0
-.ft P
+.ft
 .fi
 .sp
 This feature is only supported when using Python 2.6 or later.
@@ -1269,7 +1159,7 @@
 .sp
 Used to access web\-based Mercurial repositories through a HTTP
 proxy.
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBhost\fP
 .sp
@@ -1293,7 +1183,7 @@
 .sp
 Optional. Always use the proxy, even for localhost and any entries
 in \fBhttp_proxy.no\fP. (default: False)
-.UNINDENT
+.RE
 .SS \fBmerge\-patterns\fP
 .sp
 This section specifies merge tools to associate with particular file
@@ -1304,23 +1194,23 @@
 Example:
 .sp
 .nf
-.ft C
+.ft
 [merge\-patterns]
 **.c = kdiff3
 **.jpg = myimgmerge
-.ft P
+.ft
 .fi
 .SS \fBmerge\-tools\fP
 .sp
 This section configures external merge tools to use for file\-level
 merges. This section has likely been preconfigured at install time.
-Use \%\fBhg config merge\-tools\fP\: to check the existing configuration.
-Also see \%\fBhg help merge\-tools\fP\: for more details.
+Use \fBhg config merge\-tools\fP to check the existing configuration.
+Also see \fBhg help merge\-tools\fP for more details.
 .sp
 Example \fB~/.hgrc\fP:
 .sp
 .nf
-.ft C
+.ft
 [merge\-tools]
 # Override stock tool location
 kdiff3.executable = ~/bin/kdiff3
@@ -1337,13 +1227,12 @@
 
 # Define new tool
 myHtmlTool.args = \-m $local $other $base $output
-myHtmlTool.regkey = Software\eFooSoftware\eHtmlMerge
 myHtmlTool.priority = 1
-.ft P
+.ft
 .fi
 .sp
 Supported arguments:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBpriority\fP
 .sp
@@ -1354,9 +1243,6 @@
 .sp
 Either just the name of the executable or its pathname.
 .sp
-On Windows, the path can use environment variables with ${ProgramFiles}
-syntax.
-.sp
 (default: the tool name)
 .TP
 .B \fBargs\fP
@@ -1379,7 +1265,7 @@
 \fBkeep\-merge3\fP. The \fBkeep\fP option will leave markers in the file if the
 premerge fails. The \fBkeep\-merge3\fP will do the same but include information
 about the base of the merge in the marker (see internal :merge3 in
-\%\fBhg help merge\-tools\fP\:).
+\fBhg help merge\-tools\fP).
 (default: True)
 .TP
 .B \fBbinary\fP
@@ -1394,7 +1280,7 @@
 .B \fBcheck\fP
 .sp
 A list of merge success\-checking options:
-.INDENT 7.0
+.RS 7
 .TP
 .B \fBchanged\fP
 .sp
@@ -1407,7 +1293,7 @@
 .B \fBprompt\fP
 .sp
 Always prompt for merge success, regardless of success reported by tool.
-.UNINDENT
+.RE
 .TP
 .B \fBfixeol\fP
 .sp
@@ -1417,44 +1303,16 @@
 .B \fBgui\fP
 .sp
 This tool requires a graphical interface to run. (default: False)
-.UNINDENT
-.INDENT 0.0
-.TP
-.B \fBregkey\fP
-.sp
-Windows registry key which describes install location of this
-tool. Mercurial will search for this key first under
-\fBHKEY_CURRENT_USER\fP and then under \fBHKEY_LOCAL_MACHINE\fP.
-(default: None)
-.TP
-.B \fBregkeyalt\fP
-.sp
-An alternate Windows registry key to try if the first key is not
-found.  The alternate key uses the same \fBregname\fP and \fBregappend\fP
-semantics of the primary key.  The most common use for this key
-is to search for 32bit applications on 64bit operating systems.
-(default: None)
-.TP
-.B \fBregname\fP
-.sp
-Name of value to read from specified registry key.
-(default: the unnamed (default) value)
-.TP
-.B \fBregappend\fP
-.sp
-String to append to the value read from the registry, typically
-the executable name of the tool.
-(default: None)
-.UNINDENT
+.RE
 .SS \fBpatch\fP
 .sp
-Settings used when applying patches, for instance through the \(aqimport\(aq
+Settings used when applying patches, for instance through the 'import'
 command or with Mercurial Queues extension.
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBeol\fP
 .sp
-When set to \(aqstrict\(aq patch content and patched files end of lines
+When set to 'strict' patch content and patched files end of lines
 are preserved. When set to \fBlf\fP or \fBcrlf\fP, both files end of
 lines are ignored when patching and the result line endings are
 normalized to either LF (Unix) or CRLF (Windows). When set to
@@ -1466,11 +1324,11 @@
 .TP
 .B \fBfuzz\fP
 .sp
-The number of lines of \(aqfuzz\(aq to allow when applying patches. This
+The number of lines of 'fuzz' to allow when applying patches. This
 controls how much context the patcher is allowed to ignore when
 trying to apply a patch.
 (default: 2)
-.UNINDENT
+.RE
 .SS \fBpaths\fP
 .sp
 Assigns symbolic names and behavior to repositories.
@@ -1479,57 +1337,57 @@
 location of the repository. Example:
 .sp
 .nf
-.ft C
+.ft
 [paths]
 my_server = https://example.com/my_repo
 local_path = /home/me/repo
-.ft P
+.ft
 .fi
 .sp
 These symbolic names can be used from the command line. To pull
-from \fBmy_server\fP: \%\fBhg pull my_server\fP\:. To push to \fBlocal_path\fP:
-\%\fBhg push local_path\fP\:.
+from \fBmy_server\fP: \fBhg pull my_server\fP. To push to \fBlocal_path\fP:
+\fBhg push local_path\fP.
 .sp
 Options containing colons (\fB:\fP) denote sub\-options that can influence
 behavior for that specific path. Example:
 .sp
 .nf
-.ft C
+.ft
 [paths]
 my_server = https://example.com/my_path
 my_server:pushurl = ssh://example.com/my_path
-.ft P
+.ft
 .fi
 .sp
 The following sub\-options can be defined:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBpushurl\fP
 .sp
 The URL to use for push operations. If not defined, the location
-defined by the path\(aqs main entry is used.
-.UNINDENT
+defined by the path's main entry is used.
+.RE
 .sp
 The following special named paths exist:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBdefault\fP
 .sp
 The URL or directory to use when no source or remote is specified.
 .sp
-\%\fBhg clone\fP\: will automatically define this path to the location the
+\fBhg clone\fP will automatically define this path to the location the
 repository was cloned from.
 .TP
 .B \fBdefault\-push\fP
 .sp
-(deprecated) The URL or directory for the default \%\fBhg push\fP\: location.
+(deprecated) The URL or directory for the default \fBhg push\fP location.
 \fBdefault:pushurl\fP should be used instead.
-.UNINDENT
+.RE
 .SS \fBphases\fP
 .sp
-Specifies default handling of phases. See \%\fBhg help phases\fP\: for more
+Specifies default handling of phases. See \fBhg help phases\fP for more
 information about working with phases.
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBpublish\fP
 .sp
@@ -1554,7 +1412,7 @@
 either aborted (if checksubrepos is set to "abort") or the higher phase is
 used for the parent repository commit (if set to "follow").
 (default: follow)
-.UNINDENT
+.RE
 .SS \fBprofiling\fP
 .sp
 Specifies profiling type, format, and file output. Two profilers are
@@ -1561,21 +1419,21 @@
 supported: an instrumenting profiler (named \fBls\fP), and a sampling
 profiler (named \fBstat\fP).
 .sp
-In this section description, \(aqprofiling data\(aq stands for the raw data
-collected during profiling, while \(aqprofiling report\(aq stands for a
+In this section description, 'profiling data' stands for the raw data
+collected during profiling, while 'profiling report' stands for a
 statistical text report generated from the profiling data. The
 profiling is done using lsprof.
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBtype\fP
 .sp
 The type of profiler to use.
 (default: ls)
-.INDENT 7.0
+.RS 7
 .TP
 .B \fBls\fP
 .sp
-Use Python\(aqs built\-in instrumenting profiler. This profiler
+Use Python's built\-in instrumenting profiler. This profiler
 works on all platforms, but each line number it reports is the
 first line of a function. This restriction makes it difficult to
 identify the expensive parts of a non\-trivial function.
@@ -1585,13 +1443,13 @@
 Use a third\-party statistical profiler, statprof. This profiler
 currently runs only on Unix systems, and is most useful for
 profiling commands that run for longer than about 0.1 seconds.
-.UNINDENT
+.RE
 .TP
 .B \fBformat\fP
 .sp
 Profiling format.  Specific to the \fBls\fP instrumenting profiler.
 (default: text)
-.INDENT 7.0
+.RS 7
 .TP
 .B \fBtext\fP
 .sp
@@ -1604,7 +1462,7 @@
 Format profiling data for kcachegrind use: when saving to a
 file, the generated file can directly be loaded into
 kcachegrind.
-.UNINDENT
+.RE
 .TP
 .B \fBfrequency\fP
 .sp
@@ -1635,13 +1493,13 @@
 This can help explain the difference between Total and Inline.
 Specific to the \fBls\fP instrumenting profiler.
 (default: 5)
-.UNINDENT
+.RE
 .SS \fBprogress\fP
 .sp
 Mercurial commands can draw progress bars that are as informative as
 possible. Some progress bars only offer indeterminate information, while others
 have a definite end point.
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBdelay\fP
 .sp
@@ -1675,31 +1533,31 @@
 .TP
 .B \fBclear\-complete\fP
 .sp
-Clear the progress bar after it\(aqs done. (default: True)
+Clear the progress bar after it's done. (default: True)
 .TP
 .B \fBdisable\fP
 .sp
-If true, don\(aqt show a progress bar.
+If true, don't show a progress bar.
 .TP
 .B \fBassume\-tty\fP
 .sp
 If true, ALWAYS show a progress bar, unless disable is given.
-.UNINDENT
+.RE
 .SS \fBrebase\fP
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBallowdivergence\fP
 .sp
 Default to False, when True allow creating divergence when performing
 rebase of obsolete changesets.
-.UNINDENT
+.RE
 .SS \fBrevsetalias\fP
 .sp
-Alias definitions for revsets. See \%\fBhg help revsets\fP\: for details.
+Alias definitions for revsets. See \fBhg help revsets\fP for details.
 .SS \fBserver\fP
 .sp
 Controls generic server settings.
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBuncompressed\fP
 .sp
@@ -1764,11 +1622,11 @@
 consider setting this option because converting \fIgeneraldelta\fP
 repositories to the exchange format required by the bundle1 data
 format can consume a lot of CPU.
-.UNINDENT
+.RE
 .SS \fBsmtp\fP
 .sp
 Configuration for extensions that need to send email messages.
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBhost\fP
 .sp
@@ -1793,7 +1651,7 @@
 \fB[web] cacerts\fP also). For "strict", sending email is also
 aborted, if there is no configuration for mail server in
 \fB[hostfingerprints]\fP and \fB[web] cacerts\fP.  \-\-insecure for
-\%\fBhg email\fP\: overwrites this as "loose". (default: strict)
+\fBhg email\fP overwrites this as "loose". (default: strict)
 .TP
 .B \fBusername\fP
 .sp
@@ -1810,7 +1668,7 @@
 .sp
 Optional. The hostname that the sender can use to identify
 itself to the MTA.
-.UNINDENT
+.RE
 .SS \fBsubpaths\fP
 .sp
 Subrepository source URLs can go stale if a remote server changes name
@@ -1818,9 +1676,9 @@
 rewrite rules of the form:
 .sp
 .nf
-.ft C
+.ft
 <pattern> = <replacement>
-.ft P
+.ft
 .fi
 .sp
 where \fBpattern\fP is a regular expression matching a subrepository
@@ -1829,9 +1687,9 @@
 \fBreplacements\fP. For instance:
 .sp
 .nf
-.ft C
+.ft
 http://server/(.*)\-hg/ = http://hg.server/\e1/
-.ft P
+.ft
 .fi
 .sp
 rewrites \fBhttp://server/foo\-hg/\fP into \fBhttp://hg.server/foo/\fP.
@@ -1842,7 +1700,7 @@
 .SS \fBtrusted\fP
 .sp
 Mercurial will not use the settings in the
-\fB.hg/hgrc\fP file from a repository if it doesn\(aqt belong to a trusted
+\fB\&.hg/hgrc\fP file from a repository if it doesn't belong to a trusted
 user or to a trusted group, as various hgrc features allow arbitrary
 commands to be run. This issue is often encountered when configuring
 hooks or extensions for shared repositories or servers. However,
@@ -1854,7 +1712,7 @@
 group with name \fB*\fP. These settings must be placed in an
 \fIalready\-trusted file\fP to take effect, such as \fB$HOME/.hgrc\fP of the
 user or service running Mercurial.
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBusers\fP
 .sp
@@ -1863,17 +1721,17 @@
 .B \fBgroups\fP
 .sp
 Comma\-separated list of trusted groups.
-.UNINDENT
+.RE
 .SS \fBui\fP
 .sp
 User interface controls.
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBarchivemeta\fP
 .sp
 Whether to include the .hg_archival.txt file containing meta data
 (hashes for the repository base and for tip) in archives created
-by the \%\fBhg archive\fP\: command or downloaded via hgweb.
+by the \fBhg archive\fP command or downloaded via hgweb.
 (default: True)
 .TP
 .B \fBaskusername\fP
@@ -1888,7 +1746,7 @@
 .sp
 Whether the "clone bundles" feature is enabled.
 .sp
-When enabled, \%\fBhg clone\fP\: may download and apply a server\-advertised
+When enabled, \fBhg clone\fP may download and apply a server\-advertised
 bundle file from a URL instead of using the normal exchange mechanism.
 .sp
 This can likely result in faster and more reliable clones.
@@ -1906,7 +1764,7 @@
 clone, this would add significant and unexpected load to the server
 since the server is expecting clone operations to be offloaded to
 pre\-generated bundles. Failing fast (the default behavior) ensures
-clients don\(aqt overwhelm the server when "clone bundle" application
+clients don't overwhelm the server when "clone bundle" application
 fails.
 .sp
 (default: False)
@@ -1921,17 +1779,17 @@
 bundle over another.
 .sp
 The following keys are defined by Mercurial:
-.INDENT 7.0
+.RS 7
 .TP
 .B BUNDLESPEC
 .
-A bundle type specifier. These are strings passed to \%\fBhg bundle \-t\fP\:.
+A bundle type specifier. These are strings passed to \fBhg bundle \-t\fP.
 e.g. \fBgzip\-v2\fP or \fBbzip2\-v1\fP.
 .TP
 .B COMPRESSION
 .
 The compression format of the bundle. e.g. \fBgzip\fP and \fBbzip2\fP.
-.UNINDENT
+.RE
 .sp
 Server operators may define custom keys.
 .sp
@@ -1957,7 +1815,7 @@
 .TP
 .B \fBfallbackencoding\fP
 .sp
-Encoding to try if it\(aqs not possible to decode the changelog using
+Encoding to try if it's not possible to decode the changelog using
 UTF\-8. (default: ISO\-8859\-1)
 .TP
 .B \fBgraphnodetemplate\fP
@@ -1985,7 +1843,7 @@
 .B \fBmerge\fP
 .sp
 The conflict resolution program to use during a manual merge.
-For more information on merge tools see \%\fBhg help merge\-tools\fP\:.
+For more information on merge tools see \fBhg help merge\-tools\fP.
 For configuring merge tools see the \fB[merge\-tools]\fP section.
 .TP
 .B \fBmergemarkers\fP
@@ -1992,7 +1850,7 @@
 .sp
 Sets the merge conflict marker label styling. The \fBdetailed\fP
 style uses the \fBmergemarkertemplate\fP setting to style the labels.
-The \fBbasic\fP style just uses \(aqlocal\(aq and \(aqother\(aq as the marker label.
+The \fBbasic\fP style just uses 'local' and 'other' as the marker label.
 One of \fBbasic\fP or \fBdetailed\fP.
 (default: \fBbasic\fP)
 .TP
@@ -1999,7 +1857,7 @@
 .B \fBmergemarkertemplate\fP
 .sp
 The template used to print the commit description next to each conflict
-marker during merge conflicts. See \%\fBhg help templates\fP\: for the template
+marker during merge conflicts. See \fBhg help templates\fP for the template
 format.
 .sp
 Defaults to showing the hash, tags, branches, bookmarks, author, and
@@ -2036,12 +1894,12 @@
 .sp
 Check for portable filenames. Can be \fBwarn\fP, \fBignore\fP or \fBabort\fP.
 (default: \fBwarn\fP)
-.INDENT 7.0
+.RS 7
 .TP
 .B \fBwarn\fP
 .sp
 Print a warning message on POSIX platforms, if a file with a non\-portable
-filename is added (e.g. a file with a name that can\(aqt be created on
+filename is added (e.g. a file with a name that can't be created on
 Windows because it contains reserved parts like \fBAUX\fP, reserved
 characters like \fB:\fP, or would cause a case collision with an existing
 file).
@@ -2048,7 +1906,7 @@
 .TP
 .B \fBignore\fP
 .sp
-Don\(aqt print a warning.
+Don't print a warning.
 .TP
 .B \fBabort\fP
 .sp
@@ -2061,9 +1919,7 @@
 .B \fBfalse\fP
 .sp
 Alias for \fBignore\fP.
-.UNINDENT
-.sp
-On Windows, this configuration option is ignored and the command aborted.
+.RE
 .TP
 .B \fBquiet\fP
 .sp
@@ -2127,7 +1983,7 @@
 .B \fBusername\fP
 .sp
 The committer of a changeset created when running "commit".
-Typically a person\(aqs name and email address, e.g. \fBFred Widget
+Typically a person's name and email address, e.g. \fBFred Widget
 <fred@example.com>\fP. Environment variables in the
 username are expanded.
 .sp
@@ -2139,11 +1995,11 @@
 .B \fBverbose\fP
 .sp
 Increase the amount of output printed. (default: False)
-.UNINDENT
+.RE
 .SS \fBweb\fP
 .sp
 Web interface configuration. The settings in this section apply to
-both the builtin webserver (started by \%\fBhg serve\fP\:) and the script you
+both the builtin webserver (started by \fBhg serve\fP) and the script you
 run through a webserver (\fBhgweb.cgi\fP and the derivatives for FastCGI
 and WSGI).
 .sp
@@ -2159,9 +2015,9 @@
 command line:
 .sp
 .nf
-.ft C
+.ft
 $ hg \-\-config web.allow_push=* \-\-config web.push_ssl=False serve
-.ft P
+.ft
 .fi
 .sp
 Note that this will allow anybody to push anything to the server and
@@ -2168,7 +2024,7 @@
 that this should not be used for public servers.
 .sp
 The full set of options is:
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBaccesslog\fP
 .sp
@@ -2253,13 +2109,13 @@
 To disable SSL verification temporarily, specify \fB\-\-insecure\fP from
 command line.
 .sp
-You can use OpenSSL\(aqs CA certificate file if your platform has
+You can use OpenSSL's CA certificate file if your platform has
 one. On most Linux systems this will be
 \fB/etc/ssl/certs/ca\-certificates.crt\fP. Otherwise you will have to
 generate this file manually. The form must be as follows:
 .sp
 .nf
-.ft C
+.ft
 \-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\-
 \&... (certificate in base64 PEM encoding) ...
 \-\-\-\-\-END CERTIFICATE\-\-\-\-\-
@@ -2266,7 +2122,7 @@
 \-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\-
 \&... (certificate in base64 PEM encoding) ...
 \-\-\-\-\-END CERTIFICATE\-\-\-\-\-
-.ft P
+.ft
 .fi
 .TP
 .B \fBcache\fP
@@ -2275,7 +2131,7 @@
 .TP
 .B \fBcertificate\fP
 .sp
-Certificate to use when running \%\fBhg serve\fP\:.
+Certificate to use when running \fBhg serve\fP.
 .TP
 .B \fBcollapse\fP
 .sp
@@ -2332,7 +2188,7 @@
 .TP
 .B \fBdescription\fP
 .sp
-Textual description of the repository\(aqs purpose or contents.
+Textual description of the repository's purpose or contents.
 (default: "unknown")
 .TP
 .B \fBencoding\fP
@@ -2397,7 +2253,7 @@
 .TP
 .B \fBprefix\fP
 .sp
-Prefix path to serve from. (default: \(aq\(aq (server root))
+Prefix path to serve from. (default: '' (server root))
 .TP
 .B \fBpush_ssl\fP
 .sp
@@ -2436,7 +2292,7 @@
 .sp
 Where to find the HTML templates. The default path to the HTML templates
 can be obtained from \fBhg debuginstall\fP.
-.UNINDENT
+.RE
 .SS \fBwebsub\fP
 .sp
 Web substitution filter definition. You can use this section to
@@ -2458,9 +2314,9 @@
 which in turn imitates the Unix sed replacement syntax:
 .sp
 .nf
-.ft C
+.ft
 patternname = s/SEARCH_REGEX/REPLACE_EXPRESSION/[i]
-.ft P
+.ft
 .fi
 .sp
 You can use any separator other than "/". The final "i" is optional
@@ -2469,12 +2325,12 @@
 Examples:
 .sp
 .nf
-.ft C
+.ft
 [websub]
 issues = s|issue(\ed+)|<a href="http://bts.example.org/issue\e1">issue\e1</a>|i
 italic = s/\eb_(\eS+)_\eb/<i>\e1<\e/i>/
 bold = s/\e*\eb(\eS+)\eb\e*/<b>\e1<\e/b>/
-.ft P
+.ft
 .fi
 .SS \fBworker\fP
 .sp
@@ -2481,7 +2337,7 @@
 Parallel master/worker configuration. We currently perform working
 directory updates in parallel on Unix\-like systems, which greatly
 helps performance.
-.INDENT 0.0
+.RS 0
 .TP
 .B \fBnumcpus\fP
 .sp
@@ -2492,7 +2348,7 @@
 .B \fBbackgroundclose\fP
 .sp
 Whether to enable closing file handles on background threads during certain
-operations. Some platforms aren\(aqt very efficient at closing file
+operations. Some platforms aren't very efficient at closing file
 handles that have been written or appened to. By performing file closing
 on background threads, file write rate can increase substantially.
 (default: true on Windows, false elsewhere)
@@ -2500,7 +2356,7 @@
 .B \fBbackgroundcloseminfilecount\fP
 .sp
 Minimum number of files required to trigger background file closing.
-Operations not writing this many files won\(aqt start background close
+Operations not writing this many files won't start background close
 threads.
 (default: 2048)
 .TP
@@ -2516,18 +2372,18 @@
 Number of threads to process background file closes. Only relevant if
 \fBbackgroundclose\fP is enabled.
 (default: 4)
-.UNINDENT
+.RE
 .SH AUTHOR
 .sp
-Bryan O\(aqSullivan <\%bos@serpentine.com\:>.
+Bryan O'Sullivan <bos@serpentine.com>.
 .sp
-Mercurial was written by Matt Mackall <\%mpm@selenic.com\:>.
+Mercurial was written by Matt Mackall <mpm@selenic.com>.
 .SH SEE ALSO
 .sp
-\%\fBhg\fP(1)\:, \%\fBhgignore\fP(5)\:
+\fBhg\fP(1), \fBhgignore\fP(5)
 .SH COPYING
 .sp
-This manual page is copyright 2005 Bryan O\(aqSullivan.
+This manual page is copyright 2005 Bryan O'Sullivan.
 Mercurial is copyright 2005\-2016 Matt Mackall.
 Free use of this software is granted under the terms of the GNU General
 Public License version 2 or any later version.
