merge with stable
authorMatt Mackall <mpm@selenic.com>
Sat, 01 Oct 2011 16:19:33 -0500
changeset 15189 dc360709cea9
parent 15188 8e115063950d (current diff)
parent 15186 a9b0f5624ffc (diff)
child 15190 6dc67dced8c1
merge with stable
--- a/.hgsigs	Sat Oct 01 16:39:51 2011 -0400
+++ b/.hgsigs	Sat Oct 01 16:19:33 2011 -0500
@@ -42,3 +42,4 @@
 de9eb6b1da4fc522b1cab16d86ca166204c24f25 0 iD8DBQBODhfhywK+sNU5EO8RAr2+AJ4ugbAj8ae8/K0bYZzx3sascIAg1QCeK3b+zbbVVqd3b7CDpwFnaX8kTd4=
 4a43e23b8c55b4566b8200bf69fe2158485a2634 0 iD8DBQBONzIMywK+sNU5EO8RAj5SAJ0aPS3+JHnyI6bHB2Fl0LImbDmagwCdGbDLp1S7TFobxXudOH49bX45Iik=
 d629f1e89021103f1753addcef6b310e4435b184 0 iD8DBQBOWAsBywK+sNU5EO8RAht4AJwJl9oNFopuGkj5m8aKuf7bqPkoAQCeNrEm7UhFsZKYT5iUOjnMV7s2LaM=
+351a9292e430e35766c552066ed3e87c557b803b 0 iD8DBQBOh3zUywK+sNU5EO8RApFMAKCD3Y/u3avDFndznwqfG5UeTHMlvACfUivPIVQZyDZnhZMq0UhC6zhCEQg=
--- a/.hgtags	Sat Oct 01 16:39:51 2011 -0400
+++ b/.hgtags	Sat Oct 01 16:19:33 2011 -0500
@@ -54,3 +54,4 @@
 de9eb6b1da4fc522b1cab16d86ca166204c24f25 1.9
 4a43e23b8c55b4566b8200bf69fe2158485a2634 1.9.1
 d629f1e89021103f1753addcef6b310e4435b184 1.9.2
+351a9292e430e35766c552066ed3e87c557b803b 1.9.3
--- a/hgext/record.py	Sat Oct 01 16:39:51 2011 -0400
+++ b/hgext/record.py	Sat Oct 01 16:19:33 2011 -0500
@@ -386,7 +386,10 @@
 
     dorecord(ui, repo, commands.commit, 'commit', False, *pats, **opts)
 
-def qrefresh(ui, repo, *pats, **opts):
+def qrefresh(origfn, ui, repo, *pats, **opts):
+    if not opts['interactive']:
+        return origfn(ui, repo, *pats, **opts)
+
     mq = extensions.find('mq')
 
     def committomq(ui, repo, *pats, **opts):
@@ -419,6 +422,11 @@
 
     dorecord(ui, repo, committomq, 'qnew', False, *pats, **opts)
 
+def qnew(origfn, ui, repo, patch, *args, **opts):
+    if opts['interactive']:
+        return qrecord(ui, repo, patch, *args, **opts)
+    return origfn(ui, repo, patch, *args, **opts)
+
 def dorecord(ui, repo, commitfunc, cmdsuggest, backupall, *pats, **opts):
     if not ui.interactive():
         raise util.Abort(_('running non-interactively, use %s instead') %
@@ -584,15 +592,10 @@
          mq.cmdtable['^qnew'][1][:] + diffopts,
          _('hg qrecord [OPTION]... PATCH [FILE]...'))
 
-    _wrapcmd('qnew', mq.cmdtable, qrecord, _("interactively record a new patch"))
+    _wrapcmd('qnew', mq.cmdtable, qnew, _("interactively record a new patch"))
     _wrapcmd('qrefresh', mq.cmdtable, qrefresh,
              _("interactively select changes to refresh"))
 
 def _wrapcmd(cmd, table, wrapfn, msg):
-    '''wrap the command'''
-    def wrapper(orig, *args, **kwargs):
-        if kwargs['interactive']:
-            return wrapfn(*args, **kwargs)
-        return orig(*args, **kwargs)
-    entry = extensions.wrapcommand(table, cmd, wrapper)
+    entry = extensions.wrapcommand(table, cmd, wrapfn)
     entry[1].append(('i', 'interactive', None, msg))