Fixed bugs regarding lines starting with '.' (both receiving and sending).
Added a minimal test function.
diff --git a/Lib/nntplib.py b/Lib/nntplib.py
index 4759374..a5e0234 100644
--- a/Lib/nntplib.py
+++ b/Lib/nntplib.py
@@ -137,6 +137,8 @@
 			line = self.getline()
 			if line == '.':
 				break
+			if line[:2] == '..':
+				line = line[1:]
 			list.append(line)
 		return resp, list
 
@@ -407,8 +409,8 @@
 				break
 			if line[-1] == '\n':
 				line = line[:-1]
-			if line == '.':
-				line = '..'
+			if line[:1] == '.':
+				line = '.' + line
 			self.putline(line)
 		self.putline('.')
 		return self.getresp()
@@ -431,8 +433,8 @@
 				break
 			if line[-1] == '\n':
 				line = line[:-1]
-			if line == '.':
-				line = '..'
+			if line[:1] == '.':
+				line = '.' + line
 			self.putline(line)
 		self.putline('.')
 		return self.getresp()
@@ -446,3 +448,22 @@
 		self.sock.close()
 		del self.file, self.sock
 		return resp
+
+
+# Minimal test function
+def _test():
+	s = NNTP('news')
+	resp, count, first, last, name = s.group('comp.lang.python')
+	print resp
+	print 'Group', name, 'has', count, 'articles, range', first, 'to', last
+	resp, subs = s.xhdr('subject', first + '-' + last)
+	print resp
+	for item in subs:
+		print "%7s %s" % item
+	resp = s.quit()
+	print resp
+
+
+# Run the test when run as a script
+if __name__ == '__main__':
+	_test()