threads / patch / 16196

patchstgit.el: Try to make the point stay on the coalesced patch.

Subject: [StGit PATCH] stgit.el: Try to make the point stay on the coalesced patch.

## tl;dr

One message between Nov 6, 2008 and Nov 6, 2008. Diffs are folded; open one to read it.

replies: 0people: 1as markdown or json

David Kågedal· Nov 6, 2008, 10:27 UTC · lore

It might not be spot on if all the coalesced patches were unapplied. ---

This fixes a small annoyance with the 'c' command.
 contrib/stgit.el |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)
Show changes to contrib/stgit.el +11 −1
diff --git a/contrib/stgit.el b/contrib/stgit.el
index d0f19c3..971ecd1 100644
--- a/contrib/stgit.el
+++ b/contrib/stgit.el
@@ -193,6 +193,9 @@ Commands:
   (let ((patchsym (intern patch)))
     (setq stgit-marked-patches (delq patchsym stgit-marked-patches))))
 
+(defun stgit-clear-marks ()
+  (setq stgit-marked-patches '()))
+
 (defun stgit-marked-patches ()
   "Return the names of the marked patches."
   (mapcar 'symbol-name stgit-marked-patches))
@@ -406,8 +409,15 @@ With numeric prefix argument, pop that many patches."
     (write-region (point-min) (point-max) file)
     (stgit-capture-output nil
       (apply 'stgit-run "coalesce" "-f" file stgit-patches))
+    (stgit-clear-marks)
     (with-current-buffer log-edit-parent-buffer
-      (stgit-refresh))))
+      ;; Go to first marked patch and stay there
+      (goto-char (point-min))
+      (re-search-forward (concat "^[>+-]\\*") nil t)
+      (move-to-column goal-column)
+      (let ((pos (point)))
+        (stgit-refresh)
+        (goto-char pos)))))
 
 (defun stgit-help ()
   "Display help for the StGit mode."

← back to recent threads