Mercurial > hg
changeset 44975:1a4b9b602e54 stable
py3: fix broken man page generation, it was generating `(default: NUL*)`
`bytes(default)` was producing things like `(default: \x00)` when handed
non-bytes values such as `1`, `10`, or `True`. The man page generation would
apparently ignore these bytes and produce man pages that had the string
`(default: )`.
Test Plan:
- Ran `cd doc; python3 gendoc.py "hg.1.gendoc"` and grepped for bad output
- Ran `make deb`, extracted the deb, manually inspected `hg.1` file.
Differential Revision: https://phab.mercurial-scm.org/D8639
author | Kyle Lippincott <spectral@google.com> |
---|---|
date | Wed, 17 Jun 2020 16:11:11 -0700 |
parents | 9e5f598fd29b |
children | 3d41172f2ac9 |
files | doc/gendoc.py |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/doc/gendoc.py Tue Jun 16 14:38:50 2020 +0200 +++ b/doc/gendoc.py Wed Jun 17 16:11:11 2020 -0700 @@ -40,6 +40,7 @@ gettext, _, ) +from mercurial.utils import stringutil table = commands.table globalopts = commands.globalopts @@ -85,7 +86,9 @@ if b'\n' in desc: # only remove line breaks and indentation desc = b' '.join(l.lstrip() for l in desc.split(b'\n')) - desc += default and _(b" (default: %s)") % bytes(default) or b"" + if default: + default = stringutil.forcebytestr(default) + desc += _(b" (default: %s)") % default yield (b", ".join(allopts), desc)