]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/vc/smerge-mode.el (smerge-vc-next-conflict): New command
authorKonstantin Kharlamov <Hi-Angel@yandex.ru>
Mon, 18 Feb 2019 14:15:08 +0000 (09:15 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 18 Feb 2019 14:15:08 +0000 (09:15 -0500)
Copyright-paperwork-exempt: yes

lisp/vc/smerge-mode.el

index 569797e18dd8931d50f5ee8975f6a54919d584d1..ffca78ba8a31950286d88e2603b4ce3cf1f3cb66 100644 (file)
@@ -1432,6 +1432,20 @@ If no conflict maker is found, turn off `smerge-mode'."
         (smerge-next))
     (error (smerge-auto-leave))))
 
+(require 'vc)
+
+(defun smerge-vc-next-conflict ()
+  "Tries to go to next conflict in current file, otherwise tries
+to open next conflicted file version-control-system wise"
+  (interactive)
+  (let ((buffer (current-buffer)))
+    (when (not (smerge-goto-next-conflict))
+      (vc-find-conflicted-file)
+      (if (eq buffer (current-buffer))
+          (message "No conflicts found")
+        (goto-char 0)
+        (smerge-goto-next-conflict)))))
+
 (provide 'smerge-mode)
 
 ;;; smerge-mode.el ends here