# HG changeset patch # User Bryan O'Sullivan # Date 1180298495 25200 # Node ID 6b84c8d2f66f4cddf6a5a55c2e1b6998f688a178 # Parent 82bc6aef8b433f39c9bdc02f65b0ef07ac77cacd 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. diff --git a/hgext/patchbomb.py b/hgext/patchbomb.py --- 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: