Fred Lundh's latest versions.
diff --git a/Lib/tkinter/tkColorChooser.py b/Lib/tkinter/tkColorChooser.py
index 7ef63b4..a3db41e 100644
--- a/Lib/tkinter/tkColorChooser.py
+++ b/Lib/tkinter/tkColorChooser.py
@@ -22,7 +22,7 @@
 #
 
 # FIXME: as of Tk 8.0a2, the Unix colour picker is really ugly, and
-# doesn't seem to work properly on a true colour display.  maybe we
+# doesn't seem to work properly on true colour displays.  maybe we
 # should use the instant python version instead?
 
 from tkCommonDialog import Dialog
@@ -70,3 +70,4 @@
 if __name__ == "__main__":
 
     print "color", askcolor()
+
diff --git a/Lib/tkinter/tkCommonDialog.py b/Lib/tkinter/tkCommonDialog.py
index 33126c5..df26272 100644
--- a/Lib/tkinter/tkCommonDialog.py
+++ b/Lib/tkinter/tkCommonDialog.py
@@ -42,7 +42,7 @@
 
         self._fixoptions()
 
-        # we need a stub widget to properly process the options
+        # we need a dummy widget to properly process the options
         # (at least as long as we use Tkinter 1.63)
         w = Frame(self.master)
 
@@ -61,3 +61,4 @@
                 pass
 
         return s
+
diff --git a/Lib/tkinter/tkSimpleDialog.py b/Lib/tkinter/tkSimpleDialog.py
index 68f414a..c297922 100644
--- a/Lib/tkinter/tkSimpleDialog.py
+++ b/Lib/tkinter/tkSimpleDialog.py
@@ -115,6 +115,7 @@
 class _QueryDialog(Dialog):
 
     def __init__(self, title, prompt,
+                 initialvalue=None,
                  minvalue = None, maxvalue = None,
                  parent = None):
 
@@ -127,16 +128,22 @@
         self.minvalue = minvalue
         self.maxvalue = maxvalue
 
+        self.initialvalue = initialvalue
+
         Dialog.__init__(self, parent, title)
 
     def body(self, master):
 
-        w = Label(master, text=self.prompt)
+        w = Label(master, text=self.prompt, justify=LEFT)
         w.grid(row=0, padx=5, sticky=W)
 
         self.entry = Entry(master, name="entry")
         self.entry.grid(row=1, padx=5, sticky=W+E)
 
+        if self.initialvalue:
+            self.entry.insert(0, self.initialvalue)
+            self.entry.select_range(0, END)
+
         return self.entry
 
     def validate(self):
@@ -147,7 +154,7 @@
             result = self.getresult()
         except ValueError:
             tkMessageBox.showwarning(
-                "Bad value",
+                "Illegal value",
                 self.errormessage + "\nPlease try again",
                 parent = self
             )
@@ -157,16 +164,16 @@
             tkMessageBox.showwarning(
                 "Too small",
                 "The allowed minimum value is %s. "
-                "Please try again" % self.minvalue,
+                "Please try again." % self.minvalue,
                 parent = self
             )
             return 0
 
         if self.maxvalue is not None and result > self.maxvalue:
             tkMessageBox.showwarning(
-                "Bad value",
+                "Too large",
                 "The allowed maximum value is %s. "
-                "Please try again" % self.maxvalue,
+                "Please try again." % self.maxvalue,
                 parent = self
             )
             return 0
@@ -177,7 +184,7 @@
 
 
 class _QueryInteger(_QueryDialog):
-    errormessage = "Invalid integer"
+    errormessage = "Not an integer."
     def getresult(self):
         return string.atoi(self.entry.get())
 
@@ -186,7 +193,7 @@
     return d.result
 
 class _QueryFloat(_QueryDialog):
-    errormessage = "Invalid floating point value"
+    errormessage = "Not a floating point value."
     def getresult(self):
         return string.atof(self.entry.get())
 
@@ -207,6 +214,7 @@
     root = Tk()
     root.update()
 
-    print askinteger("Spam", "Egg count")
-    print askfloat("Spam", "Egg weight")
+    print askinteger("Spam", "Egg count", initialvalue=12*12)
+    print askfloat("Spam", "Egg weight\n(in tons)", minvalue=1, maxvalue=100)
     print askstring("Spam", "Egg label")
+