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(-)
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."