- Suppress the visible text in the epilogue when "edit=no" is specified.
- Add translation of *foobar* into <I>foobar</I> (but not inside <PRE>).
- Optimization for the translation: only translate when @ or / or * seen.
- Add some layout to front page lay-out.
diff --git a/Tools/faqwiz/faqmain.py b/Tools/faqwiz/faqmain.py
index 82c4657..2ce723d 100644
--- a/Tools/faqwiz/faqmain.py
+++ b/Tools/faqwiz/faqmain.py
@@ -27,6 +27,7 @@
 NAMEPAT = "faq??.???.htp"
 NAMEREG = "^faq\([0-9][0-9]\)\.\([0-9][0-9][0-9]\)\.htp$"
 
+# Like so many other things, this should come from a file.
 SECTIONS = {
     "1": "General information and availability",
     "2": "Python in the real world",
@@ -85,14 +86,18 @@
 	<LI><A HREF="faq.py?req=delete">Delete a FAQ entry</A>
 	</UL>
 
+	<HR>
+
 	<H2>Search the FAQ</H2>
 
 	<FORM ACTION="faq.py?req=query">
 	<INPUT TYPE=text NAME=query>
-	<INPUT TYPE=submit VALUE="Search">
+	<INPUT TYPE=submit VALUE="Search"><BR>
+	(Case insensitive regular expressions.)
 	<INPUT TYPE=hidden NAME=req VALUE=query>
 	</FORM>
-
+	<HR>
+	<P>
 	Disclaimer: these pages are intended to be edited by anyone.
 	Please exercise discretion when editing, don't be rude, etc.
 	"""
@@ -605,7 +610,11 @@
 		    if not pre:
 			print '<PRE>'
 			pre = 1
-		print self.translate(line)
+		if '/' in line or '@' in line:
+		    line = self.translate(line)
+ 		if not pre and '*' in line:
+ 		    line = self.emphasize(line)
+		print line
 	if pre:
 	    print '</PRE>'
 	    pre = 0
@@ -663,12 +672,18 @@
 	print
 
     def epilogue(self):
+	if self.edit == 'no':
+	    global wanttime
+	    wanttime = 0
+	else:
+	    print '''
+	    <P>
+	    <HR>
+	    <A HREF="http://www.python.org">Python home</A> /
+	    <A HREF="faq.py">FAQ home</A> /
+	    Feedback to <A HREF="mailto:guido@python.org">GvR</A>
+	    '''
 	print '''
-	<P>
-	<HR>
-	<A HREF="http://www.python.org">Python home</A> /
-	<A HREF="faq.py">FAQ home</A> /
-	Feedback to <A HREF="mailto:guido@python.org">GvR</A>
 	</BODY>
 	</HTML>
 	'''
@@ -705,8 +720,21 @@
 	list.append(cgi.escape(text[i:j]))
 	return string.join(list, '')
 
+    emphasize_prog = None
+
+    def emphasize(self, line):
+	import regsub
+	if not self.emphasize_prog:
+	    import regex
+	    pat = "\*\([a-zA-Z]+\)\*"
+	    self.emphasize_prog = prog = regex.compile(pat)
+	else:
+	    prog = self.emphasize_prog
+	return regsub.gsub(prog, "<I>\\1</I>", line)
+
 print "Content-type: text/html"
 dt = 0
+wanttime = 1
 try:
     import time
     t1 = time.time()
@@ -718,7 +746,8 @@
 except:
     print "\n<HR>Sorry, an error occurred"
     cgi.print_exception()
-print "<P>(running time = %s seconds)" % str(round(dt, 3))
+if wanttime:
+    print "<BR>(running time = %s seconds)" % str(round(dt, 3))
 
 # The following bootstrap script must be placed in cgi-bin/faq.py:
 BOOTSTRAP = """