fix bug in example (should close file at all times)
diff --git a/Doc/libimp.tex b/Doc/libimp.tex
index 2e72602..4456814 100644
--- a/Doc/libimp.tex
+++ b/Doc/libimp.tex
@@ -158,14 +158,17 @@
     fp, pathname, (suffix, mode, type) = imp.find_module(name)
 
     # See what we got.
-    # Note that fp will be closed automatically when we return.
-    if type == imp.C_EXTENSION:
-        return imp.load_dynamic(name, pathname)
-    if type == imp.PY_SOURCE:
-        return imp.load_source(name, pathname, fp)
-    if type == imp.PY_COMPILED:
-        return imp.load_compiled(name, pathname, fp)
+    try:
+        if type == imp.C_EXTENSION:
+            return imp.load_dynamic(name, pathname)
+        if type == imp.PY_SOURCE:
+            return imp.load_source(name, pathname, fp)
+        if type == imp.PY_COMPILED:
+            return imp.load_compiled(name, pathname, fp)
 
-    # Shouldn't get here at all.
-    raise ImportError, '%s: unknown module type (%d)' % (name, type)
+        # Shouldn't get here at all.
+        raise ImportError, '%s: unknown module type (%d)' % (name, type)
+    finally:
+        # Since we may exit via an exception, close fp explicitly.
+        fp.close()
 \end{verbatim}