Merge Py Idle changes

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
This commit is contained in:
Kurt B. Kaiser 2002-09-15 22:02:58 +00:00
parent e72f05d5fb
commit 908aece9f7
1 changed files with 11 additions and 7 deletions

View 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