]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Merge Py Idle changes
authorKurt B. Kaiser <kbk@shore.net>
Sun, 15 Sep 2002 22:02:58 +0000 (22:02 +0000)
committerKurt B. Kaiser <kbk@shore.net>
Sun, 15 Sep 2002 22:02:58 +0000 (22:02 +0000)
Rev 1.9
Improve handling of docstrings.  I had feared this was a case of
introspection incompatibility, but in fact it's just that calltips
always gave up on a docstring that started with a newline (but
didn't realize they were giving up <wink>).

Rev 1.10
(already merged)

Rev 1.11
(whitespace normalization, skip this time)

Rev 1.12
Remove unnecessary imports

Lib/idlelib/CallTips.py

index 82890cbd88b76f7b51ffe768cea8e3740d0311a7..e90da493a34773ec670949043e5f119e64c72a96 100644 (file)
@@ -2,7 +2,6 @@
 # displays parameter information as you open parens.
 
 import string
-import sys
 import types
 
 class CallTips:
@@ -128,16 +127,21 @@ def get_arg_text(ob):
                     items.append("...")
                 if fob.func_code.co_flags & 0x8:
                     items.append("***")
-                argText = string.join(items , ", ")
+                argText = ", ".join(items)
                 argText = "(%s)" % argText
             except:
                 pass
         # See if we can use the docstring
-        if hasattr(ob, "__doc__") and ob.__doc__:
-            pos = string.find(ob.__doc__, "\n")
-            if pos<0 or pos>70: pos=70
-            if argText: argText = argText + "\n"
-            argText = argText + ob.__doc__[:pos]
+        doc = getattr(ob, "__doc__", "")
+        if doc:
+            while doc[:1] in " \t\n":
+                doc = doc[1:]
+            pos = doc.find("\n")
+            if pos < 0 or pos > 70:
+                pos = 70
+            if argText:
+                argText += "\n"
+            argText += doc[:pos]
 
     return argText