diff --git a/Lib/Para.py b/Lib/Para.py
index c9b3bdd..709b575 100644
--- a/Lib/Para.py
+++ b/Lib/Para.py
@@ -64,11 +64,11 @@
 		for i in range(len(self.words)):
 			word = self.words[i]
 			if type(word) == Int: continue
-			fo, te, wi, sp, st, as, de = word
-			self.words[i] = fo, te, wi, sp, 0, as, de
+			(fo, te, wi, sp, st, as, de) = word
+			self.words[i] = (fo, te, wi, sp, 0, as, de)
 			total = total + wi + sp
 		if total < tab:
-			self.words.append(None, '', 0, tab-total, 0, as, de)
+			self.words.append((None, '', 0, tab-total, 0, as, de))
 	#
 	# Make a hanging tag: tab to hang, increment indent_left by hang,
 	# and reset indent_hang to -hang
diff --git a/Lib/lib-old/Para.py b/Lib/lib-old/Para.py
index c9b3bdd..709b575 100644
--- a/Lib/lib-old/Para.py
+++ b/Lib/lib-old/Para.py
@@ -64,11 +64,11 @@
 		for i in range(len(self.words)):
 			word = self.words[i]
 			if type(word) == Int: continue
-			fo, te, wi, sp, st, as, de = word
-			self.words[i] = fo, te, wi, sp, 0, as, de
+			(fo, te, wi, sp, st, as, de) = word
+			self.words[i] = (fo, te, wi, sp, 0, as, de)
 			total = total + wi + sp
 		if total < tab:
-			self.words.append(None, '', 0, tab-total, 0, as, de)
+			self.words.append((None, '', 0, tab-total, 0, as, de))
 	#
 	# Make a hanging tag: tab to hang, increment indent_left by hang,
 	# and reset indent_hang to -hang
diff --git a/Lib/traceback.py b/Lib/traceback.py
index 9823100..7488f15 100644
--- a/Lib/traceback.py
+++ b/Lib/traceback.py
@@ -66,7 +66,7 @@
 		line = linecache.getline(filename, lineno)
 		if line: line = string.strip(line)
 		else: line = None
-		list.append(filename, lineno, name, line)
+		list.append((filename, lineno, name, line))
 		tb = tb.tb_next
 		n = n+1
 	return list
@@ -176,7 +176,7 @@
 		line = linecache.getline(filename, lineno)
 		if line: line = string.strip(line)
 		else: line = None
-		list.append(filename, lineno, name, line)
+		list.append((filename, lineno, name, line))
 		f = f.f_back
 		n = n+1
 	list.reverse()
