[Python-Dev] webbrowser.py

Guido van Rossum guido@digicool.com
Tue, 23 Jan 2001 09:06:47 -0500

> Ping's complaints are justified -- I've been looking at and testing
> webbrowser.py and it's a mess.  Among other things:
> 1. The BROWSER variable is not interpreted properly.
> 2. The code is stupid about loading platform support it doesn't need.
> 3. It's not possible to specify lynx as a browser under Unix, because the
>    computation of available browsers is split in two and partly done inside
>    the CommandLineBrowser class.
> 3. The module code is excessively hard to read, obscuring these bugs.
> Our mistake was hurriedly merging the launcher code from IDLE with the
> browser-finder hack I wrote (the guts of CommandLineBrowser).  The resulting
> code is a bad, overcomplicated architecture with a nasty seam in it.
> As co-designer/implementor I should have caught this sooner, but I was
> in a hurry to get a CML2 prototype out the door and didn't test
> anything but the case I needed.  My apologies to all.
> I'm rewriting to fix these problems now.  Documented semantics of entry
> points will be preserved.

Excellent, Eric!  That's the spirit.

Can you point me to docs explaining the meaning of the BROWSER
environment variable?  I've never heard of it...  The last new
environment variables I learned were PAGER and EDITOR, probably 15
years ago when 4.1BSD was released... :-)

--Guido van Rossum (home page: http://www.python.org/~guido/)