From cae2e398563841c5b814596fd1f1c64354dcac71 Mon Sep 17 00:00:00 2001 From: Ran Benita Date: Sun, 23 Feb 2014 22:55:19 +0200 Subject: [PATCH] c_client.py: make the man page output deterministic Some parts of the man pages (SEE ALSO and ERRORS) are generated by iterating a Python dict. But the iteration order in a dict is random, so each build the output is ordered differently. Avoid that by iterating in sorted order. Signed-off-by: Ran Benita Reviewed-by: Daniel Martin --- src/c_client.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/c_client.py b/src/c_client.py index 43eb113..df2ed11 100644 --- a/src/c_client.py +++ b/src/c_client.py @@ -2716,7 +2716,7 @@ def _man_request(self, name, cookie_type, void, aux): (cookie_type, self.c_reply_name, base_func_name, section)) f.write('.SH ERRORS\n') if hasattr(self, "doc") and self.doc: - for errtype, errtext in self.doc.errors.items(): + for errtype, errtext in sorted(self.doc.errors.items()): f.write('.IP \\fI%s\\fP 1i\n' % (_t(('xcb', errtype, 'error')))) errtext = re.sub(r'`([^`]+)`', r'\\fI\1\\fP', errtext) f.write('%s\n' % (errtext)) @@ -2734,7 +2734,7 @@ def _man_request(self, name, cookie_type, void, aux): see = ['.BR %s (%s)' % ('xcb-requests', section)] if self.doc.example: see.append('.BR %s (%s)' % ('xcb-examples', section)) - for seename, seetype in self.doc.see.items(): + for seename, seetype in sorted(self.doc.see.items()): if seetype == 'program': see.append('.BR %s (1)' % seename) elif seetype == 'event': @@ -2864,7 +2864,7 @@ def _man_event(self, name): see = ['.BR %s (%s)' % ('xcb_generic_event_t', section)] if self.doc.example: see.append('.BR %s (%s)' % ('xcb-examples', section)) - for seename, seetype in self.doc.see.items(): + for seename, seetype in sorted(self.doc.see.items()): if seetype == 'program': see.append('.BR %s (1)' % seename) elif seetype == 'event': -- 2.34.1