From: Just van Rossum <just@lettererror.com>
Date: Thu, 23 Dec 1999 15:46:57 +0000 (+0000)
Subject: changed the "method find" algorithm so the function/class/method popup menu also... 
X-Git-Tag: v1.6a1~577
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=24073eaf2b3f3a8e202288eedb55d5c73f36e041;p=python

changed the "method find" algorithm so the function/class/method popup menu also works with space-indented source files -- jvr
---

diff --git a/Mac/Tools/IDE/PyEdit.py b/Mac/Tools/IDE/PyEdit.py
index 63a21e7f1c..7983705903 100644
--- a/Mac/Tools/IDE/PyEdit.py
+++ b/Mac/Tools/IDE/PyEdit.py
@@ -586,6 +586,9 @@ class Editor(W.Window):
 	
 	def getclasslist(self):
 		from string import find, strip
+		import re
+		methodRE = re.compile(r"\r[ \t]+def ")
+		findMethod = methodRE.search
 		editor = self.editgroup.editor
 		text = editor.get()
 		list = []
@@ -613,10 +616,12 @@ class Editor(W.Window):
 			append((pos + 7, classtag))
 		pos = 0
 		while 1:
-			pos = find(text, '\r\tdef ', pos + 1)
-			if pos < 0:
+			m = findMethod(text, pos + 1)
+			if m is None:
 				break
-			append((pos + 6, methodtag))
+			pos = m.regs[0][0]
+			#pos = find(text, '\r\tdef ', pos + 1)
+			append((m.regs[0][1], methodtag))
 		list.sort()
 		classlist = []
 		methodlistappend = None