From: John H. <jdh...@ac...> - 2004-11-22 23:05:34
|
>>>>> "Fernando" == Fernando Perez <Fer...@co...> writes: >> Actually, it would be fine if matplotlib overrode >> sys.except_hook and ipython later came along and overrode that. >> Basically, ipython would be saying, "I know I've got a shell to >> display errors in, so we don't need to GUI method". I don't >> think matplotlib would have a problem with that. Ditto for >> envisage. Basically, we would be providing a default method to >> get the message to the GUI which could be overriden by other >> applications that want to (ipython, envisage, what-have-you). Fernando> I guess this is a good heads-up for me. I know ipython Fernando> does some of this, I'll just add a bit more such Fernando> control. That way, if during the running of user code Fernando> they need sys.ehook for something, they'll get it. But Fernando> ipython will keep it for when it needs it. I'm pretty Fernando> sure the embeddable ipython has such control in it, I Fernando> may just need to put it in the general case as well. Fernando> Ultimately I'm not 100% sure what a good solution for Fernando> matplotlib is, I just wanted to make you aware of these Fernando> issues, so that at least they are on your radar. We do have some more options. For one, we could use the excepthook only in the matlab interface -- in this case matlab is being used more as an application rather than a library. Folks using matplotlib as a library, eg embedding in a GUI, would be advised to do their own trapping. The only exceptional case I see is basically the ipython (and friends) case. Ie, someone wants to write a shell or otherwise that embeds matplotlib.matlab. In this case it would be fine to override matplotlib.matlab's excepthook, as discussed. To play really nicely, matplotlib.matlab would like to be able to override excepthook only if it hadn't been otherwise overridden. I don't see any elegant way to do this. Any ideas? JDH |