aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Ingebrigtsen2020-09-13 17:25:08 +0200
committerLars Ingebrigtsen2020-09-13 17:25:08 +0200
commit54c2a8df3bfaec2141bdf9a11fca59f6d3a58558 (patch)
tree5c18b1d3adbac970e827f3dcc1c0511d19c5df9c
parentdc01b992e27e91631e67bb94f32c23275f1eacfd (diff)
downloademacs-54c2a8df3bfaec2141bdf9a11fca59f6d3a58558.tar.gz
emacs-54c2a8df3bfaec2141bdf9a11fca59f6d3a58558.zip
Make diff--refine-hunk bug out less on broken patches
* lisp/vc/diff-mode.el (diff--refine-hunk): Don't bug out on broken patches where we can't find the middle.
-rw-r--r--lisp/vc/diff-mode.el5
1 files changed, 3 insertions, 2 deletions
diff --git a/lisp/vc/diff-mode.el b/lisp/vc/diff-mode.el
index 1a80d13abde..f223ae48f3b 100644
--- a/lisp/vc/diff-mode.el
+++ b/lisp/vc/diff-mode.el
@@ -2173,9 +2173,10 @@ Return new point, if it was moved."
2173 (smerge-refine-regions beg-del beg-add beg-add end-add 2173 (smerge-refine-regions beg-del beg-add beg-add end-add
2174 nil #'diff-refine-preproc props-r props-a))))) 2174 nil #'diff-refine-preproc props-r props-a)))))
2175 ('context 2175 ('context
2176 (let* ((middle (save-excursion (re-search-forward "^---" end))) 2176 (let* ((middle (save-excursion (re-search-forward "^---" end t)))
2177 (other middle)) 2177 (other middle))
2178 (while (re-search-forward "^\\(?:!.*\n\\)+" middle t) 2178 (while (and middle
2179 (re-search-forward "^\\(?:!.*\n\\)+" middle t))
2179 (smerge-refine-regions (match-beginning 0) (match-end 0) 2180 (smerge-refine-regions (match-beginning 0) (match-end 0)
2180 (save-excursion 2181 (save-excursion
2181 (goto-char other) 2182 (goto-char other)