aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris <[email protected]>2012-01-18 22:42:57 -0800
committerGlenn Morris <[email protected]>2012-01-18 22:42:57 -0800
commit54de86ac6216fc2eece477308dde090381d6b6c7 (patch)
tree81ec4c77d0121a27eb6e26f1edf4b8ad42fd18a4
parent606c44c4cfea818143b9007754331dcf4fa06561 (diff)
Small bzrmerge.el change.
* admin/bzrmerge.el (bzrmerge-missing): Allow a definitive "no" answer to the "skip?" question, since there can be multiple such for any revision.
-rw-r--r--admin/ChangeLog5
-rw-r--r--admin/bzrmerge.el20
2 files changed, 22 insertions, 3 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog
index 597beb60ce..2178df6caf 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,8 @@
+2012-01-19 Glenn Morris <[email protected]>
+
+ * bzrmerge.el (bzrmerge-missing): Allow a definitive "no" answer to the
+ "skip?" question, since there can be multiple such for any revision.
+
2012-01-14 Eli Zaretskii <[email protected]>
* FOR-RELEASE (Check the Emacs Tutorial): Mark TUTORIAL.he as
diff --git a/admin/bzrmerge.el b/admin/bzrmerge.el
index 2efb17603c..cb63d5b16b 100644
--- a/admin/bzrmerge.el
+++ b/admin/bzrmerge.el
@@ -133,9 +133,23 @@ are both lists of revnos, in oldest-first order."
(setq str (substring str (match-end 0))))
(when (string-match "[.!;, ]+\\'" str)
(setq str (substring str 0 (match-beginning 0))))
- (if (save-excursion (y-or-n-p (concat str ": Skip? ")))
- (setq skip t))))
- (if skip
+ (let ((help-form "\
+Type `y' to skip this revision,
+`N' to include it and go on to the next revision,
+`n' to not skip, but continue to search this log entry for skip regexps,
+`q' to quit merging."))
+ (case (save-excursion
+ (read-char-choice
+ (format "%s: Skip (y/n/N/q/%s)? " str
+ (key-description (vector help-char)))
+ '(?y ?n ?N ?q)))
+ (?y (setq skip t))
+ (?q (keyboard-quit))
+ ;; A single log entry can match skip-regexp multiple
+ ;; times. If you are sure you don't want to skip it,
+ ;; you don't want to be asked multiple times.
+ (?N (setq skip 'no))))))
+ (if (eq skip t)
(push revno skipped)
(push revno revnos)))))
(delete-region (point) (point-max)))