Change use of global sys.stdout, sys.stdin os.environ to a hgrequest object.
Note: also change hgrequest.write(str(thing)) to hgrequest.write(thing),
people should make sure they write strings.
def demandload(scope, modules):
class d:
def __getattr__(self, name):
mod = self.__dict__["mod"]
scope = self.__dict__["scope"]
scope[mod] = __import__(mod, scope, scope, [])
return getattr(scope[mod], name)
for m in modules.split():
dl = d()
dl.mod = m
dl.scope = scope
scope[m] = dl