Changes to use default argument values where possible
diff --git a/Lib/gopherlib.py b/Lib/gopherlib.py
index 71413ba..7550d5c 100644
--- a/Lib/gopherlib.py
+++ b/Lib/gopherlib.py
@@ -54,14 +54,10 @@
 TAB = '\t'
 
 # Send a selector to a given host and port, return a file with the reply
-def send_selector(selector, host, *args):
+def send_selector(selector, host, port = 0):
 	import socket
 	import string
-	if args:
-		if args[1:]: raise TypeError, 'too many args'
-		port = args[0]
-	else:
-		port = None
+	if not port:
 		i = string.find(host, ':')
 		if i >= 0:
 			host, port = host[:i], string.atoi(host[i+1:])
@@ -76,8 +72,8 @@
 	return s.makefile('r')
 
 # Send a selector and a query string
-def send_query(selector, query, host, *args):
-	return apply(send_selector, (selector + '\t' + query, host) + args)
+def send_query(selector, query, host, port = 0):
+	return send_selector(selector + '\t' + query, host, port)
 
 # The following functions interpret the data returned by the gopher
 # server according to the expected type, e.g. textfile or directory
diff --git a/Lib/httplib.py b/Lib/httplib.py
index d494e21..362b38d 100644
--- a/Lib/httplib.py
+++ b/Lib/httplib.py
@@ -43,20 +43,16 @@
 
 class HTTP:
 
-	def __init__(self, *args):
+	def __init__(self, host = '', port = 0):
 		self.debuglevel = 0
-		if args: apply(self.connect, args)
+		if host: self.connect(host, port)
 
 	def set_debuglevel(self, debuglevel):
 		self.debuglevel = debuglevel
 
-	def connect(self, host, *args):
-		if args:
-			if args[1:]: raise TypeError, 'too many args'
-			port = args[0]
-		else:
+	def connect(self, host, port = 0):
+		if not port:
 			i = string.find(host, ':')
-			port = None
 			if i >= 0:
 				host, port = host[:i], host[i+1:]
 				try: port = string.atoi(port)
diff --git a/Lib/mailbox.py b/Lib/mailbox.py
index b7a5598..e93512a 100755
--- a/Lib/mailbox.py
+++ b/Lib/mailbox.py
@@ -35,24 +35,20 @@
 		self.stop = stop
 		self.pos = self.start
 
-	def read(self, *args):
+	def read(self, length = None):
 		if self.pos >= self.stop:
 			return ''
-		if args == ():
+		if length is None:
 			length = self.stop - self.pos
-		else:
-			length = args[0]
 		self.fp.seek(self.pos)
 		self.pos = self.pos + length
 		return self.fp.read(length)
 
-	def readline(self, *args):
+	def readline(self, length = None):
 		if self.pos >= self.stop:
 			return ''
-		if args == ():
+		if length is None:
 			length = self.stop - self.pos
-		else:
-			length = args[0]
 		self.fp.seek(self.pos)
 		data = self.fp.readline(length)
 		if len(data) < length:
diff --git a/Lib/random.py b/Lib/random.py
index 0d2f06b..608203f 100644
--- a/Lib/random.py
+++ b/Lib/random.py
@@ -214,15 +214,11 @@
 
 # -------------------- test program --------------------
 
-def test(*args):
+def test(N = 200):
 	print 'TWOPI         =', TWOPI
 	print 'LOG4          =', LOG4
 	print 'NV_MAGICCONST =', NV_MAGICCONST
 	print 'SG_MAGICCONST =', SG_MAGICCONST
-	N = 200
-	if args:
-		if args[1:]: print 'Excess test() arguments ignored'
-		N = args[0]
 	test_generator(N, 'random()')
 	test_generator(N, 'normalvariate(0.0, 1.0)')
 	test_generator(N, 'lognormvariate(0.0, 1.0)')