From: Konstantin Kharlamov Date: Tue, 16 Feb 2021 11:49:30 +0000 (+0100) Subject: make smerge-vc-next-conflict wrap around X-Git-Tag: emacs-28.0.90~3705 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5b10ca8f4f70cbdc51970b8b756d11f1dbf6e2f6;p=emacs.git make smerge-vc-next-conflict wrap around * lisp/vc/smerge-mode.el: (smerge-vc-next-conflict): While searching for conflict markers, wrap search around if current file is the last one with conflicts (bug#46538). --- diff --git a/lisp/vc/smerge-mode.el b/lisp/vc/smerge-mode.el index c66a4fb2d6a..782c799273c 100644 --- a/lisp/vc/smerge-mode.el +++ b/lisp/vc/smerge-mode.el @@ -1468,12 +1468,12 @@ found, uses VC to try and find the next file with conflict." (if (and (buffer-modified-p) buffer-file-name) (save-buffer)) (vc-find-conflicted-file) - (if (eq buffer (current-buffer)) - ;; Do nothing: presumably `vc-find-conflicted-file' already - ;; emitted a message explaining there aren't any more conflicts. - nil - (goto-char (point-min)) - (smerge-next))))))) + (when (eq buffer (current-buffer)) + ;; Try to find a conflict marker in current file above the point. + (let ((prev-pos (point))) + (goto-char (point-min)) + (unless (ignore-errors (not (smerge-next))) + (goto-char prev-pos))))))))) (provide 'smerge-mode)