hgext/histedit.py
changeset 48208 7d2464b6e30b
parent 48207 fb30ad66a572
child 48209 0f498e03b016
--- a/hgext/histedit.py	Tue Oct 12 09:00:51 2021 -0700
+++ b/hgext/histedit.py	Tue Oct 12 09:16:14 2021 -0700
@@ -1194,13 +1194,6 @@
 
 
 # ============ EVENTS ===============
-def changemode(state, mode):
-    curmode, _ = state.mode
-    state.mode = (mode, curmode)
-    if mode == MODE_PATCH:
-        state.modes[MODE_PATCH][b'patchcontents'] = state.patch_contents()
-
-
 def makeselection(state, pos):
     state.selected = pos
 
@@ -1541,9 +1534,9 @@
         elif action.startswith(b'action-'):
             changeaction(self, oldpos, action[7:])
         elif action == b'showpatch':
-            changemode(self, MODE_PATCH if curmode != MODE_PATCH else prevmode)
+            self.change_mode(MODE_PATCH if curmode != MODE_PATCH else prevmode)
         elif action == b'help':
-            changemode(self, MODE_HELP if curmode != MODE_HELP else prevmode)
+            self.change_mode(MODE_HELP if curmode != MODE_HELP else prevmode)
         elif action == b'quit':
             return E_QUIT
         elif action == b'histedit':
@@ -1591,6 +1584,12 @@
         # Reset the patch view region to the top of the new patch.
         self.modes[MODE_PATCH][b'line_offset'] = 0
 
+    def change_mode(self, mode):
+        curmode, _ = self.mode
+        self.mode = (mode, curmode)
+        if mode == MODE_PATCH:
+            self.modes[MODE_PATCH][b'patchcontents'] = self.patch_contents()
+
 
 def _chisteditmain(repo, rules, stdscr):
     try:
@@ -1633,7 +1632,7 @@
     while True:
         oldmode, unused = state.mode
         if oldmode == MODE_INIT:
-            changemode(state, MODE_RULES)
+            state.change_mode(MODE_RULES)
         e = state.event(ch)
 
         if e == E_QUIT: