* calendar.py: all libC functionality now moved to built-in time module
* imghdr.py: added jpeg recognition
* torgb.py: added jpeg conversion
* tzparse.py: use functions from time instead of calendar
* whatsound.py: add /ufs/guido/biin/sgi to $PATH when calling 'whatsound'
diff --git a/Lib/calendar.py b/Lib/calendar.py
index 9ef9e3d..b4e3aad 100644
--- a/Lib/calendar.py
+++ b/Lib/calendar.py
@@ -1,37 +1,16 @@
-##############################
-# Calendar support functions #
-##############################
+###############################
+# Calendar printing functions #
+###############################
 
-# Revision 2: uses funtions from built-in time module where possible.
+# Revision 2: uses funtions from built-in time module
 
 # Import functions and variables from time module
-from time import gmtime, localtime, mktime
+from time import gmtime, localtime, mktime, asctime, ctime
 from time import timezone, altzone, daylight, tzname
 
 # Exception raised for bad input (with string parameter for details)
 error = 'calendar.error'
 
-# Abbreviated names of months (1-based arrays!!!)
-month_abbr =       ['   ', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', \
-		           'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
-
-# Turn calendar time as returned by localtime() into a string
-def asctime(arg):
-	year, month, day, hours, mins, secs, wday, yday, isdst = arg
-	return '%s %s %02d %02d:%02d:%02d %04d' % (
-		day_abbr[wday], month_abbr[month], day,
-		hours, mins, secs, year)
-
-# UNIX-style ctime (except it doesn't append '\n'!)
-def ctime(secs):
-	return asctime(localtime(secs))
-
-######################
-# Non-UNIX additions #
-######################
-
-# Calendar printing etc.
-
 # Note when comparing these calendars to the ones printed by cal(1):
 # My calendars have Monday as the first day of the week, and Sunday as
 # the last!  (I believe this is the European convention.)
@@ -48,10 +27,12 @@
 	    'Friday', 'Saturday', 'Sunday']
 day_abbr = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
 
-# Full names of months (1-based arrays!!!)
+# Full and abbreviated names of months (1-based arrays!!!)
 month_name =          ['', 'January',   'February', 'March',    'April', \
 		           'May',       'June',     'July',     'August', \
 			   'September', 'October',  'November', 'December']
+month_abbr =       ['   ', 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', \
+		           'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
 
 # Return 1 for leap years, 0 for non-leap years
 def isleap(year):
diff --git a/Lib/imghdr.py b/Lib/imghdr.py
index 063bfe8..62518b5 100644
--- a/Lib/imghdr.py
+++ b/Lib/imghdr.py
@@ -81,6 +81,12 @@
 
 tests.append(test_xbm)
 
+def test_jpeg(h, f):
+	# JPEG data in JFIF format
+	if h[6:10] == 'JFIF':
+		return 'jpeg'
+
+tests.append(test_jpeg)
 
 #--------------------#
 # Small test program #
diff --git a/Lib/irix5/torgb.py b/Lib/irix5/torgb.py
index e46aca3..2e340d1 100755
--- a/Lib/irix5/torgb.py
+++ b/Lib/irix5/torgb.py
@@ -40,6 +40,12 @@
 t.append('fromppm $IN $OUT', 'ff')
 table['rast'] = t
 
+t = pipes.Template().init()
+t.append('djpeg', '--')
+t.append('pnmtoppm', '--')
+t.append('fromppm $IN $OUT', 'ff')
+table['jpeg'] = t
+
 uncompress = pipes.Template().init()
 uncompress.append('uncompress', '--')
 
diff --git a/Lib/lib-old/whatsound.py b/Lib/lib-old/whatsound.py
index a59323b..b7b349c 100644
--- a/Lib/lib-old/whatsound.py
+++ b/Lib/lib-old/whatsound.py
@@ -56,6 +56,7 @@
 	from stat import ST_SIZE
 	# XXX "whatsound" should be part of the distribution somehow...
 	cmd = 'whatsound ' + filename + ' 2>/dev/null'
+	cmd = 'PATH=$PATH:/ufs/guido/bin/sgi\n' + cmd
 	pipe = os.popen(cmd, 'r')
 	data = pipe.read()
 	sts = pipe.close()
diff --git a/Lib/plat-irix5/torgb.py b/Lib/plat-irix5/torgb.py
index e46aca3..2e340d1 100755
--- a/Lib/plat-irix5/torgb.py
+++ b/Lib/plat-irix5/torgb.py
@@ -40,6 +40,12 @@
 t.append('fromppm $IN $OUT', 'ff')
 table['rast'] = t
 
+t = pipes.Template().init()
+t.append('djpeg', '--')
+t.append('pnmtoppm', '--')
+t.append('fromppm $IN $OUT', 'ff')
+table['jpeg'] = t
+
 uncompress = pipes.Template().init()
 uncompress.append('uncompress', '--')
 
diff --git a/Lib/tzparse.py b/Lib/tzparse.py
index 370d46b..26824ab 100644
--- a/Lib/tzparse.py
+++ b/Lib/tzparse.py
@@ -24,11 +24,11 @@
 	[tzname, delta, dstname, daystart, hourstart, dayend, hourend] = subs
 	return (tzname, delta, dstname, daystart, hourstart, dayend, hourend)
 
-def tzlocaltime(time, params):
-	import calendar
+def tzlocaltime(secs, params):
+	import time
 	(tzname, delta, dstname, daystart, hourstart, dayend, hourend) = params
-	year, month, days, hours, mins, secs, yday, wday = \
-		calendar.gmtime(time - delta*3600)
+	year, month, days, hours, mins, secs, yday, wday, isdst = \
+		time.gmtime(secs - delta*3600)
 	if (daystart, hourstart) <= (yday+1, hours) < (dayend, hourend):
 		tzname = dstname
 		hours = hours + 1
@@ -44,33 +44,39 @@
 	daylight = 1
 	tzname = tzparams[0], tzparams[2]
 
-def isdst(time):
-	import calendar
+def isdst(secs):
+	import time
 	(tzname, delta, dstname, daystart, hourstart, dayend, hourend) = \
 		tzparams
 	year, month, days, hours, mins, secs, yday, wday, isdst = \
-		calendar.gmtime(time - delta*3600)
+		time.gmtime(secs - delta*3600)
 	return (daystart, hourstart) <= (yday+1, hours) < (dayend, hourend)
 
 tzset()
 
-def localtime(time):
-	return tzlocaltime(time, tzparams)
+def localtime(secs):
+	return tzlocaltime(secs, tzparams)
 
 def test():
-	from calendar import asctime, gmtime
+	from time import asctime, gmtime
 	import time, sys
 	now = time.time()
 	x = localtime(now)
-	print 'now =', now, '=', asctime(x[:-1]), x[-1]
+	tm = x[:-1] + (0,)
+	print 'now =', now, '=', asctime(tm), x[-1]
 	now = now - now % (24*3600)
 	if sys.argv[1:]: now = now + eval(sys.argv[1])
 	x = gmtime(now)
-	print 'gmtime =', now, '=', asctime(x), 'yday =', x[-2]
+	tm = x[:-1] + (0,)
+	print 'gmtime =', now, '=', asctime(tm), 'yday =', x[-2]
 	jan1 = now - x[-2]*24*3600
 	x = localtime(jan1)
-	print 'jan1 =', jan1, '=', asctime(x[:-1]), x[-1]
+	tm = x[:-1] + (0,)
+	print 'jan1 =', jan1, '=', asctime(tm), x[-1]
 	for d in range(85, 95) + range(265, 275):
 		t = jan1 + d*24*3600
 		x = localtime(t)
-		print 'd =', d, 't =', t, '=', asctime(x[:-1]), x[-1]
+		tm = x[:-1] + (0,)
+		print 'd =', d, 't =', t, '=', asctime(tm), x[-1]
+
+test()
diff --git a/Lib/whatsound.py b/Lib/whatsound.py
index a59323b..b7b349c 100644
--- a/Lib/whatsound.py
+++ b/Lib/whatsound.py
@@ -56,6 +56,7 @@
 	from stat import ST_SIZE
 	# XXX "whatsound" should be part of the distribution somehow...
 	cmd = 'whatsound ' + filename + ' 2>/dev/null'
+	cmd = 'PATH=$PATH:/ufs/guido/bin/sgi\n' + cmd
 	pipe = os.popen(cmd, 'r')
 	data = pipe.read()
 	sts = pipe.close()