From c26467d53f8c0805a59cd1a4aea13a04e21f0502 Mon Sep 17 00:00:00 2001
From: Fred Drake <fdrake@acm.org>
Date: Tue, 29 Jan 2002 14:53:30 +0000
Subject: Revise cheeseshop example so that the order of the keyword output is
 completely determined by the example; dict insertion order and the string
 hash algorithm no longer affect the output. This fixes SF bug #509281.

---
 Doc/tut/tut.tex | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/Doc/tut/tut.tex b/Doc/tut/tut.tex
index 608388b..27f33c9 100644
--- a/Doc/tut/tut.tex
+++ b/Doc/tut/tut.tex
@@ -1485,7 +1485,9 @@ def cheeseshop(kind, *arguments, **keywords):
     print "-- I'm sorry, we're all out of", kind
     for arg in arguments: print arg
     print '-'*40
-    for kw in keywords.keys(): print kw, ':', keywords[kw]
+    keys = keywords.keys()
+    keys.sort()
+    for kw in keys: print kw, ':', keywords[kw]
 \end{verbatim}
 
 It could be called like this:
@@ -1511,6 +1513,11 @@ shopkeeper : Michael Palin
 sketch : Cheese Shop Sketch
 \end{verbatim}
 
+Note that the \method{sort()} method of the list of keyword argument
+names is called before printing the contents of the \code{keywords}
+dictionary; if this is not done, the order in which the arguments are
+printed is undefined.
+
 
 \subsection{Arbitrary Argument Lists \label{arbitraryArgs}}
 
-- 
cgit v0.12

