1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-04-26 00:01:47 -07:00

* lisp/vc/diff-mode.el (diff-end-of-hunk): Also skip potential "no LF at eol".

(diff-refine-hunk): Similarly, handle the "no LF at eol".

Fixes: debbugs:12584
This commit is contained in:
Stefan Monnier 2012-10-26 11:51:42 -04:00
parent 00323fb326
commit a2be03575f
2 changed files with 22 additions and 8 deletions

View file

@ -1,3 +1,8 @@
2012-10-26 Stefan Monnier <monnier@iro.umontreal.ca>
* vc/diff-mode.el (diff-end-of-hunk): Also skip potential "no LF at eol".
(diff-refine-hunk): Similarly, handle the "no LF at eol" (bug#12584).
2012-10-26 Martin Rudalics <rudalics@gmx.at>
* mouse.el (mouse-drag-line): Move last form into preceding when
@ -8,7 +13,7 @@
2012-10-25 David Engster <deng@randomsample.de>
* emacs-lisp/eieio.el (eieio-update-lisp-imenu-expression):
Removed. This feature is already integrated in imenu.
Remove. This feature is already integrated in imenu.
* emacs-lisp/eieio-opt.el: Remove require for `button' since it is
always loaded. Require `speedbar' unconditionally.

View file

@ -478,11 +478,13 @@ See http://lists.gnu.org/archive/html/emacs-devel/2007-11/msg01990.html")
(let* ((nold (string-to-number (or (match-string 2) "1")))
(nnew (string-to-number (or (match-string 4) "1")))
(endold
(save-excursion
(re-search-forward (if diff-valid-unified-empty-line
"^[- \n]" "^[- ]")
(save-excursion
(re-search-forward (if diff-valid-unified-empty-line
"^[- \n]" "^[- ]")
nil t nold)
(line-beginning-position 2)))
(line-beginning-position
;; Skip potential "\ No newline at end of file".
(if (looking-at ".*\n\\\\") 3 2))))
(endnew
;; The hunk may end with a bunch of "+" lines, so the `end' is
;; then further than computed above.
@ -490,7 +492,9 @@ See http://lists.gnu.org/archive/html/emacs-devel/2007-11/msg01990.html")
(re-search-forward (if diff-valid-unified-empty-line
"^[+ \n]" "^[+ ]")
nil t nnew)
(line-beginning-position 2))))
(line-beginning-position
;; Skip potential "\ No newline at end of file".
(if (looking-at ".*\n\\\\") 3 2)))))
(setq end (max endold endnew)))))
;; We may have a first evaluation of `end' thanks to the hunk header.
(unless end
@ -1972,8 +1976,13 @@ For use in `add-log-current-defun-function'."
(goto-char beg)
(pcase style
(`unified
(while (re-search-forward "^\\(?:-.*\n\\)+\\(\\)\\(?:\\+.*\n\\)+"
end t)
(while (re-search-forward
(eval-when-compile
(let ((no-LF-at-eol-re "\\(?:\\\\.*\n\\)?"))
(concat "^\\(?:-.*\n\\)+" no-LF-at-eol-re
"\\(\\)"
"\\(?:\\+.*\n\\)+" no-LF-at-eol-re)))
end t)
(smerge-refine-subst (match-beginning 0) (match-end 1)
(match-end 1) (match-end 0)
nil 'diff-refine-preproc props-r props-a)))