patchbomb: Defer the import of readline.
If imported at the top of the module, the import appears to succeed,
but raw_input doesn't acquire magic editing fu. I suspect this has
something to do with the newish demandimport code, because the prior
code worked with demandload.
--- a/hgext/patchbomb.py
+++ b/hgext/patchbomb.py
@@ -70,12 +70,6 @@ from mercurial import cmdutil, commands,
from mercurial.i18n import _
from mercurial.node import *
-try:
- # readline gives raw_input editing capabilities, but is not
- # present on windows
- import readline
-except ImportError: pass
-
def patchbomb(ui, repo, *revs, **opts):
'''send changesets by email
@@ -120,6 +114,12 @@ def patchbomb(ui, repo, *revs, **opts):
'''
def prompt(prompt, default = None, rest = ': ', empty_ok = False):
+ try:
+ # readline gives raw_input editing capabilities, but is not
+ # present on windows
+ import readline
+ except ImportError: pass
+
if default: prompt += ' [%s]' % default
prompt += rest
while True: