Ticket #78 (closed defect: invalid)

Opened 3 years ago

Last modified 5 months ago

Interface freeze when getting autocompleting for long module.

Reported by: olethanh Assigned to:
Priority: moderate Keywords:
Cc:

Description (Last modified by otaylor)

Moved to https://bugzilla.gnome.org/show_bug.cgi?id=659335 - closing as "invalid"

Change History

03/31/09 21:34:37 changed by otaylor

So, the details of what are going on here is that when you type:

gtk

It's trying to popup

gtk 
[gtk] [full docstring for the gtk module]

And the docstring for the gtk module takes forever to compute.

Which is actually mostly pointless since there is no "completion" here - you've already typed the full module name. (It's less pointless for functions ... argument entry mode is useful even if there is only one completion.)

But just avoiding the popup doesn't solve the problem, since it would still occur for modules that are longer than three characters. (Though few modules have as large and expensive to compute docstring as gtk).

The real fix is that when completing, the pydoc behavior of adding docs for the module members to the docs for the module is not useful ... you'll see the docs anyways when you get to the next level of completion, and in a more useful fashion. I don't see any way of suppressing this behavior looking at the pydoc sources, so it's probably necessay to reproduce some of the logic of pydoc.TextDoc?.docmodule()

04/02/09 14:54:03 changed by olethanh

Wouldn't it be possible to do this computation in a thread or in some other which doesn't block the glib mainloop. So it wouldn't prevent the user from continuing to type?

04/03/09 00:36:34 changed by otaylor

Using a thread or breaking the operation up into small bits that could be done in idle time was my initial thought. But since what is taking so long is entirely pointless - nobody wants a tooltip with all 1200+ members of the gtk module every time they type 'gtk' - the first step is to just avoid doing that operation. If there continue to be problems in other situations then we can take further steps.

09/17/11 14:31:08 changed by otaylor

  • status changed from new to closed.
  • resolution set to invalid.
  • description changed.