changeset 16250:684864d54903

help: strip doctest from dochelp When a dochelp string contains doctest code, the doctest code is not stripped, so the help also displays the doctest. Just stop parsing dochelp at the first hint of a doctest section (starting with >>>). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
author "Yann E. MORIN" <yann.morin.1998@free.fr>
date Fri, 09 Mar 2012 22:54:17 +0100
parents 0d175ac527c1
children db68ee3289b6
files mercurial/help.py
diffstat 1 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/mercurial/help.py	Mon Mar 12 13:37:39 2012 -0500
+++ b/mercurial/help.py	Fri Mar 09 22:54:17 2012 +0100
@@ -94,8 +94,13 @@
             continue
         text = gettext(text)
         lines = text.splitlines()
-        lines[1:] = [('  ' + l.strip()) for l in lines[1:]]
-        entries.append('\n'.join(lines))
+        doclines = [(lines[0])]
+        for l in lines[1:]:
+            # Stop once we find some Python doctest
+            if l.strip().startswith('>>>'):
+                break
+            doclines.append('  ' + l.strip())
+        entries.append('\n'.join(doclines))
     entries = '\n\n'.join(entries)
     return doc.replace(marker, entries)