;; Return DESIRED-LINE.
(defun emerge-goto-line (desired-line current-line)
(forward-line (- desired-line current-line))
- current-line)
+ desired-line)
(defun emerge-convert-diffs-to-markers (A-buffer
B-buffer
(let* (marker-list
(A-point-min (emerge-eval-in-buffer A-buffer (point-min)))
(offset (1- A-point-min))
- (A-hidden-lines (emerge-eval-in-buffer
- A-buffer
- (save-restriction
- (widen)
- (count-lines 1 A-point-min))))
(B-point-min (emerge-eval-in-buffer B-buffer (point-min)))
- (B-hidden-lines (emerge-eval-in-buffer
- B-buffer
- (save-restriction
- (widen)
- (count-lines 1 B-point-min))))
;; Record current line number in each buffer
;; so we don't have to count from the beginning.
- (a-line A-hidden-lines)
- (b-line B-hidden-lines))
+ (a-line 1)
+ (b-line 1))
(emerge-eval-in-buffer A-buffer (goto-char (point-min)))
(emerge-eval-in-buffer B-buffer (goto-char (point-min)))
(while lineno-list
;; place markers at the appropriate places in the buffers
(emerge-eval-in-buffer
A-buffer
- (setq a-line (emerge-goto-line (+ a-begin A-hidden-lines) a-line))
+ (setq a-line (emerge-goto-line a-begin a-line))
(setq a-begin-marker (point-marker))
- (setq a-line (emerge-goto-line (+ a-end A-hidden-lines) a-line))
+ (setq a-line (emerge-goto-line a-end a-line))
(setq a-end-marker (point-marker)))
(emerge-eval-in-buffer
B-buffer
- (setq b-line (emerge-goto-line (+ b-begin B-hidden-lines) b-line))
+ (setq b-line (emerge-goto-line b-begin b-line))
(setq b-begin-marker (point-marker))
- (setq b-line (emerge-goto-line (+ b-end B-hidden-lines) b-line))
+ (setq b-line (emerge-goto-line b-end b-line))
(setq b-end-marker (point-marker)))
(setq merge-begin-marker (set-marker
(make-marker)