[Python-Dev] webbrowser.py

Eric S. Raymond esr@thyrsus.com
Tue, 23 Jan 2001 04:17:30 -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.
		<a href="http://www.tuxedo.org/~esr/">Eric S. Raymond</a>

The politician attempts to remedy the evil by increasing the very thing
that caused the evil in the first place: legal plunder.
	-- Frederick Bastiat