[PATCH 3 of 5] help: helptable is an ordered collection

Johannes Stezenbach js at sig21.net
Tue Jun 3 14:29:00 CDT 2008


# HG changeset patch
# User Johannes Stezenbach <js at sig21.net>
# Date 1212519831 -7200
# Node ID 780f17d716b512b7b20fb6576819622808720d29
# Parent  67057602d5ae928e538d8ebb5727fbd0b65e1712
help: helptable is an ordered collection

The helptable is used for helptopics listed in the manual
page, so the order of topics should not be random.
Convert it from a dictionary into a tuple of tuples.

diff -r 67057602d5ae -r 780f17d716b5 doc/gendoc.py
--- a/doc/gendoc.py	Tue Jun 03 20:56:54 2008 +0200
+++ b/doc/gendoc.py	Tue Jun 03 21:03:51 2008 +0200
@@ -92,11 +92,10 @@
             ui.write(_("    aliases: %s\n\n") % " ".join(d['aliases']))
 
     # print topics
-    for t in helptable:
+    for t, doc in helptable:
         l = t.split("|")
         section = l[-1]
         underlined(_(section).upper())
-        doc = helptable[t]
         if callable(doc):
             doc = doc()
         ui.write(_(doc))
diff -r 67057602d5ae -r 780f17d716b5 mercurial/commands.py
--- a/mercurial/commands.py	Tue Jun 03 20:56:54 2008 +0200
+++ b/mercurial/commands.py	Tue Jun 03 21:03:51 2008 +0200
@@ -1320,16 +1320,16 @@
 
     def helptopic(name):
         v = None
-        for i in help.helptable:
+        for i, d in help.helptable:
             l = i.split('|')
             if name in l:
                 v = i
                 header = l[-1]
+                doc = d
         if not v:
             raise cmdutil.UnknownCommand(name)
 
         # description
-        doc = help.helptable[v]
         if not doc:
             doc = _("(No help text available)")
         if callable(doc):
@@ -1403,7 +1403,7 @@
     if ui.verbose:
         ui.write(_("\nspecial help topics:\n"))
         topics = []
-        for i in help.helptable:
+        for i, d in help.helptable:
             l = i.split('|')
             topics.append((", ".join(l[:-1]), l[-1]))
         topics_len = max([len(s[0]) for s in topics])
diff -r 67057602d5ae -r 780f17d716b5 mercurial/help.py
--- a/mercurial/help.py	Tue Jun 03 20:56:54 2008 +0200
+++ b/mercurial/help.py	Tue Jun 03 21:03:51 2008 +0200
@@ -5,8 +5,8 @@
 # This software may be used and distributed according to the terms
 # of the GNU General Public License, incorporated herein by reference.
 
-helptable = {
-    "dates|Date Formats":
+helptable = (
+    ("dates|Date Formats",
     r'''
     Some commands allow the user to specify a date:
     backout, commit, import, tag: Specify the commit date.
@@ -43,9 +43,9 @@
     ">{date}" - on or after a given date
     "{date} to {date}" - a date range, inclusive
     "-{days}" - within a given number of days of today
-    ''',
+    '''),
 
-    'environment|env|Environment Variables':
+    ('environment|env|Environment Variables',
     r'''
 HG::
     Path to the 'hg' executable, automatically passed when running hooks,
@@ -114,9 +114,10 @@
 PYTHONPATH::
     This is used by Python to find imported modules and may need to be set
     appropriately if Mercurial is not installed system-wide.
-    ''',
+    '''),
 
-    "patterns|File Name Patterns": r'''
+    ("patterns|File Name Patterns",
+    r'''
     Mercurial accepts several notations for identifying one or more
     files at a time.
 
@@ -159,6 +160,5 @@
 
     re:.*\.c$      any name ending in ".c", anywhere in the repository
 
-''',
-}
-
+    '''),
+)




More information about the Mercurial-devel mailing list