Append "..." if the appropriate flag (for varargs) in co_flags is set.
Ditto "***" for kwargs.
diff --git a/Tools/idle/CallTips.py b/Tools/idle/CallTips.py
index 0bdeb92..e54483b 100644
--- a/Tools/idle/CallTips.py
+++ b/Tools/idle/CallTips.py
@@ -111,8 +111,10 @@
defaults = list(map(lambda name: "=%s" % name, defaults))
defaults = [""] * (len(realArgs)-len(defaults)) + defaults
items = map(lambda arg, dflt: arg+dflt, realArgs, defaults)
- if len(realArgs)+argOffset < (len(ob.func_code.co_varnames) - len(ob.func_code.co_names) ):
+ if ob.func_code.co_flags & 0x4:
items.append("...")
+ if ob.func_code.co_flags & 0x8:
+ items.append("***")
argText = string.join(items , ", ")
argText = "(%s)" % argText
except: