diff -r 77325c92db95 -r 02734d2baa79 mercurial/url.py --- a/mercurial/url.py Sat Sep 10 13:23:41 2011 +0100 +++ b/mercurial/url.py Thu Sep 08 20:40:24 2011 -0300 @@ -93,13 +93,15 @@ proxies = {} # urllib2 takes proxy values from the environment and those - # will take precedence if found, so drop them - for env in ["HTTP_PROXY", "http_proxy", "no_proxy"]: - try: - if env in os.environ: - del os.environ[env] - except OSError: - pass + # will take precedence if found. So, if there's a config entry + # defining a proxy, drop the environment ones + if ui.config("http_proxy", "host"): + for env in ["HTTP_PROXY", "http_proxy", "no_proxy"]: + try: + if env in os.environ: + del os.environ[env] + except OSError: + pass urllib2.ProxyHandler.__init__(self, proxies) self.ui = ui