diff options
| author | Lars Ingebrigtsen | 2020-09-13 17:25:08 +0200 |
|---|---|---|
| committer | Lars Ingebrigtsen | 2020-09-13 17:25:08 +0200 |
| commit | 54c2a8df3bfaec2141bdf9a11fca59f6d3a58558 (patch) | |
| tree | 5c18b1d3adbac970e827f3dcc1c0511d19c5df9c | |
| parent | dc01b992e27e91631e67bb94f32c23275f1eacfd (diff) | |
| download | emacs-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.el | 5 |
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) |