diff --git a/Lib/cgi.py b/Lib/cgi.py
index d412109e829..a9599a73b6e 100755
--- a/Lib/cgi.py
+++ b/Lib/cgi.py
@@ -242,23 +242,30 @@ def print_environ_usage():
def print_environ():
skeys = environ.keys()
skeys.sort()
- print '
The following environment variables were set by the CGI script:
'
+ print ' The following environment variables ' \
+ 'were set by the CGI script:
'
print ''
for key in skeys:
- print '- ',key, '
- ', environ[key]
+ print '
- ', escape(key), '
- ', escape(environ[key])
print '
'
def print_form( form ):
- print ' The following name/value pairs were entered in the form:
'
- print ''
skeys = form.keys()
skeys.sort()
+ print ' The following name/value pairs ' \
+ 'were entered in the form:
'
+ print ''
for key in skeys:
- print '- ',key, ' : ',escape(`type(form[key])`),' ','
- ', form[key]
+ print '
- ', escape(key), ':',
+ print '', escape(`type(form[key])`), '',
+ print '
- ', escape(form[key])
print '
'
def escape( s ):
- return regsub.gsub( '<', '<', regsub.gsub( '>' , '>', s ))
+ s = regsub.gsub('&', '&') # Must be done first
+ s = regsub.gsub('<', '<')
+ s = regsub.gsub('>', '>')
+ return s
def test( what ):
label = escape(str(what))