diff --git a/Lib/lib-stdwin/TextEdit.py b/Lib/lib-stdwin/TextEdit.py
index 540692c..698a7d5 100644
--- a/Lib/lib-stdwin/TextEdit.py
+++ b/Lib/lib-stdwin/TextEdit.py
@@ -27,6 +27,9 @@
 	def settext(self, text):
 		self.editor.settext(text)
 	#
+	def gettext(self):
+		return self.editor.gettext(text)
+	#
 	# Downcalls from parent to child
 	#
 	def destroy(self):
diff --git a/Lib/stdwin/TextEdit.py b/Lib/stdwin/TextEdit.py
index 540692c..698a7d5 100755
--- a/Lib/stdwin/TextEdit.py
+++ b/Lib/stdwin/TextEdit.py
@@ -27,6 +27,9 @@
 	def settext(self, text):
 		self.editor.settext(text)
 	#
+	def gettext(self):
+		return self.editor.gettext(text)
+	#
 	# Downcalls from parent to child
 	#
 	def destroy(self):
diff --git a/Lib/string.py b/Lib/string.py
index cfb977f..94e9157 100644
--- a/Lib/string.py
+++ b/Lib/string.py
@@ -102,12 +102,16 @@
 # Convert string to integer
 atoi_error = 'non-numeric argument to string.atoi'
 def atoi(str):
+	sign = ''
 	s = str
-	if s[:1] in '+-': s = s[1:]
+	if s[:1] in '+-':
+		sign = s[0]
+		s = s[1:]
 	if not s: raise atoi_error, str
+	while s[0] == '0' and len(s) > 1: s = s[1:]
 	for c in s:
 		if c not in digits: raise atoi_error, str
-	return eval(str)
+	return eval(sign + s)
 
 # Left-justify a string
 def ljust(s, width):
diff --git a/Lib/stringold.py b/Lib/stringold.py
index cfb977f..94e9157 100644
--- a/Lib/stringold.py
+++ b/Lib/stringold.py
@@ -102,12 +102,16 @@
 # Convert string to integer
 atoi_error = 'non-numeric argument to string.atoi'
 def atoi(str):
+	sign = ''
 	s = str
-	if s[:1] in '+-': s = s[1:]
+	if s[:1] in '+-':
+		sign = s[0]
+		s = s[1:]
 	if not s: raise atoi_error, str
+	while s[0] == '0' and len(s) > 1: s = s[1:]
 	for c in s:
 		if c not in digits: raise atoi_error, str
-	return eval(str)
+	return eval(sign + s)
 
 # Left-justify a string
 def ljust(s, width):
