[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r104240: Fix minor bug of diff-fixup-
From: |
Chong Yidong |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r104240: Fix minor bug of diff-fixup-modifs on small diffs (Bug#8672). |
Date: |
Sun, 15 May 2011 10:09:43 -0400 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 104240
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Sun 2011-05-15 10:09:43 -0400
message:
Fix minor bug of diff-fixup-modifs on small diffs (Bug#8672).
* vc/diff-mode.el (diff-fixup-modifs): Locate correct position for
hunk-end tags.
modified:
lisp/ChangeLog
lisp/vc/diff-mode.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2011-05-15 13:47:56 +0000
+++ b/lisp/ChangeLog 2011-05-15 14:09:43 +0000
@@ -1,5 +1,8 @@
2011-05-15 Chong Yidong <address@hidden>
+ * vc/diff-mode.el (diff-fixup-modifs): Locate correct position for
+ hunk-end tags (Bug#8672).
+
* vc/vc-annotate.el (vc-annotate-mode-map): Bind = to
vc-annotate-show-diff-revision-at-line (Bug#8671).
=== modified file 'lisp/vc/diff-mode.el'
--- a/lisp/vc/diff-mode.el 2011-05-06 04:07:47 +0000
+++ b/lisp/vc/diff-mode.el 2011-05-15 14:09:43 +0000
@@ -1118,45 +1118,47 @@
(save-excursion
(goto-char end) (diff-end-of-hunk nil 'donttrustheader)
(let ((plus 0) (minus 0) (space 0) (bang 0))
- (while (and (= (forward-line -1) 0) (<= start (point)))
- (if (not (looking-at
- (concat diff-hunk-header-re-unified
- "\\|[-*][-*][-*] [0-9,]+ [-*][-*][-*][-*]$"
- "\\|--- .+\n\\+\\+\\+ ")))
- (case (char-after)
- (?\s (incf space))
- (?+ (incf plus))
- (?- (incf minus))
- (?! (incf bang))
- ((?\\ ?#) nil)
- (t (setq space 0 plus 0 minus 0 bang 0)))
- (cond
- ((looking-at diff-hunk-header-re-unified)
- (let* ((old1 (match-string 2))
- (old2 (match-string 4))
- (new1 (number-to-string (+ space minus)))
- (new2 (number-to-string (+ space plus))))
- (if old2
- (unless (string= new2 old2) (replace-match new2 t t nil 4))
- (goto-char (match-end 4)) (insert "," new2))
- (if old1
- (unless (string= new1 old1) (replace-match new1 t t nil 2))
- (goto-char (match-end 2)) (insert "," new1))))
- ((looking-at diff-context-mid-hunk-header-re)
- (when (> (+ space bang plus) 0)
- (let* ((old1 (match-string 1))
- (old2 (match-string 2))
- (new (number-to-string
- (+ space bang plus -1 (string-to-number old1)))))
- (unless (string= new old2) (replace-match new t t nil 2)))))
- ((looking-at "\\*\\*\\* \\([0-9]+\\),\\(-?[0-9]*\\) \\*\\*\\*\\*$")
- (when (> (+ space bang minus) 0)
- (let* ((old (match-string 1))
- (new (format
- (concat "%0" (number-to-string (length old)) "d")
- (+ space bang minus -1 (string-to-number old)))))
- (unless (string= new old) (replace-match new t t nil 2))))))
- (setq space 0 plus 0 minus 0 bang 0)))))))
+ while (and (= (forward-line -1) 0) (<= start (point)))
+ (if (not (looking-at
+ (concat diff-hunk-header-re-unified
+ "\\|[-*][-*][-*] [0-9,]+ [-*][-*][-*][-*]$"
+ "\\|--- .+\n\\+\\+\\+ ")))
+ (case (char-after)
+ (?\s (incf space))
+ (?+ (incf plus))
+ (?- (incf minus))
+ (?! (incf bang))
+ ((?\\ ?#) nil)
+ (t (setq space 0 plus 0 minus 0 bang 0)))
+ (cond
+ ((looking-at diff-hunk-header-re-unified)
+ (let* ((old1 (match-string 2))
+ (old2 (match-string 4))
+ (new1 (number-to-string (+ space minus)))
+ (new2 (number-to-string (+ space plus))))
+ (if old2
+ (unless (string= new2 old2) (replace-match new2 t t nil 4))
+ (goto-char (match-end 3))
+ (insert "," new2))
+ (if old1
+ (unless (string= new1 old1) (replace-match new1 t t nil 2))
+ (goto-char (match-end 1))
+ (insert "," new1))))
+ ((looking-at diff-context-mid-hunk-header-re)
+ (when (> (+ space bang plus) 0)
+ (let* ((old1 (match-string 1))
+ (old2 (match-string 2))
+ (new (number-to-string
+ (+ space bang plus -1 (string-to-number old1)))))
+ (unless (string= new old2) (replace-match new t t nil 2)))))
+ ((looking-at "\\*\\*\\* \\([0-9]+\\),\\(-?[0-9]*\\) \\*\\*\\*\\*$")
+ (when (> (+ space bang minus) 0)
+ (let* ((old (match-string 1))
+ (new (format
+ (concat "%0" (number-to-string (length old)) "d")
+ (+ space bang minus -1 (string-to-number old)))))
+ (unless (string= new old) (replace-match new t t nil 2))))))
+ (setq space 0 plus 0 minus 0 bang 0)))))))
;;;;
;;;; Hooks
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r104240: Fix minor bug of diff-fixup-modifs on small diffs (Bug#8672).,
Chong Yidong <=