From 908aece9f755e4418c19c26b036949b19b2162d3 Mon Sep 17 00:00:00 2001 From: "Kurt B. Kaiser" Date: Sun, 15 Sep 2002 22:02:58 +0000 Subject: [PATCH] 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 ). Rev 1.10 (already merged) Rev 1.11 (whitespace normalization, skip this time) Rev 1.12 Remove unnecessary imports --- Lib/idlelib/CallTips.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Lib/idlelib/CallTips.py b/Lib/idlelib/CallTips.py index 82890cbd88b..e90da493a34 100644 --- a/Lib/idlelib/CallTips.py +++ b/Lib/idlelib/CallTips.py @@ -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