mercurial/ui.py
changeset 43916 c41ed5d4f770
parent 43915 dbaf9aabfb69
child 43996 e3ce3731d621
--- a/mercurial/ui.py	Wed Dec 11 15:33:07 2019 -0800
+++ b/mercurial/ui.py	Wed Dec 11 15:06:09 2019 -0800
@@ -434,16 +434,16 @@
                 return
             raise
 
-        cfg = config.config()
-        trusted = sections or trust or self._trusted(fp, filename)
+        with fp:
+            cfg = config.config()
+            trusted = sections or trust or self._trusted(fp, filename)
 
-        try:
-            cfg.read(filename, fp, sections=sections, remap=remap)
-            fp.close()
-        except error.ParseError as inst:
-            if trusted:
-                raise
-            self.warn(_(b"ignored: %s\n") % stringutil.forcebytestr(inst))
+            try:
+                cfg.read(filename, fp, sections=sections, remap=remap)
+            except error.ParseError as inst:
+                if trusted:
+                    raise
+                self.warn(_(b'ignored: %s\n') % stringutil.forcebytestr(inst))
 
         if self.plain():
             for k in (