]> code.delx.au - gnu-emacs/commitdiff
Small bzrmerge.el change.
authorGlenn Morris <rgm@gnu.org>
Thu, 19 Jan 2012 06:42:57 +0000 (22:42 -0800)
committerGlenn Morris <rgm@gnu.org>
Thu, 19 Jan 2012 06:42:57 +0000 (22:42 -0800)
* admin/bzrmerge.el (bzrmerge-missing): Allow a definitive "no" answer
to the "skip?" question, since there can be multiple such for any revision.

admin/ChangeLog
admin/bzrmerge.el

index 597beb60ce230b1599aced88d3440a856543036a..2178df6caf029049c6ffbf3c484e25cacdcadaf4 100644 (file)
@@ -1,3 +1,8 @@
+2012-01-19  Glenn Morris  <rgm@gnu.org>
+
+       * 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  <eliz@gnu.org>
 
        * FOR-RELEASE (Check the Emacs Tutorial): Mark TUTORIAL.he as
index 2efb17603cd90d49e095183d1dd412628fcaf2c2..cb63d5b16baa3f0bd598948298d1ed284686246a 100644 (file)
@@ -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)))