diff options
| author | Richard M. Stallman | 1994-03-28 18:48:16 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1994-03-28 18:48:16 +0000 |
| commit | 4d4cd289b45ae706b4f723c3a11955447020d43e (patch) | |
| tree | ce553aff0395f25b3522db244f93a705a73d7ea9 | |
| parent | 3e01fd9daa06241e8b3a48812c64969cc79c8092 (diff) | |
| download | emacs-4d4cd289b45ae706b4f723c3a11955447020d43e.tar.gz emacs-4d4cd289b45ae706b4f723c3a11955447020d43e.zip | |
(emerge-goto-line): New function.
(emerge-convert-diffs-to-markers): Use it.
| -rw-r--r-- | lisp/emerge.el | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/lisp/emerge.el b/lisp/emerge.el index 1bab1ce5099..482dfe4bf61 100644 --- a/lisp/emerge.el +++ b/lisp/emerge.el | |||
| @@ -1432,6 +1432,12 @@ These characteristics are restored by `emerge-restore-buffer-characteristics'." | |||
| 1432 | (emerge-restore-variables emerge-saved-variables | 1432 | (emerge-restore-variables emerge-saved-variables |
| 1433 | B-values)))) | 1433 | B-values)))) |
| 1434 | 1434 | ||
| 1435 | ;; Move to line DESIRED-LINE assuming we are at line CURRENT-LINE. | ||
| 1436 | ;; Return DESIRED-LINE. | ||
| 1437 | (defun emerge-goto-line (desired-line current-line) | ||
| 1438 | (forward-line (- desired-line current-line)) | ||
| 1439 | current-line) | ||
| 1440 | |||
| 1435 | (defun emerge-convert-diffs-to-markers (A-buffer | 1441 | (defun emerge-convert-diffs-to-markers (A-buffer |
| 1436 | B-buffer | 1442 | B-buffer |
| 1437 | merge-buffer | 1443 | merge-buffer |
| @@ -1449,7 +1455,13 @@ These characteristics are restored by `emerge-restore-buffer-characteristics'." | |||
| 1449 | B-buffer | 1455 | B-buffer |
| 1450 | (save-restriction | 1456 | (save-restriction |
| 1451 | (widen) | 1457 | (widen) |
| 1452 | (count-lines 1 B-point-min))))) | 1458 | (count-lines 1 B-point-min)))) |
| 1459 | ;; Record current line number in each buffer | ||
| 1460 | ;; so we don't have to count from the beginning. | ||
| 1461 | (a-line A-hidden-lines) | ||
| 1462 | (b-line B-hidden-lines)) | ||
| 1463 | (emerge-eval-in-buffer A-buffer (goto-char (point-min))) | ||
| 1464 | (emerge-eval-in-buffer B-buffer (goto-char (point-min))) | ||
| 1453 | (while lineno-list | 1465 | (while lineno-list |
| 1454 | (let* ((list-element (car lineno-list)) | 1466 | (let* ((list-element (car lineno-list)) |
| 1455 | a-begin-marker | 1467 | a-begin-marker |
| @@ -1466,15 +1478,15 @@ These characteristics are restored by `emerge-restore-buffer-characteristics'." | |||
| 1466 | ;; place markers at the appropriate places in the buffers | 1478 | ;; place markers at the appropriate places in the buffers |
| 1467 | (emerge-eval-in-buffer | 1479 | (emerge-eval-in-buffer |
| 1468 | A-buffer | 1480 | A-buffer |
| 1469 | (goto-line (+ a-begin A-hidden-lines)) | 1481 | (setq a-line (emerge-goto-line (+ a-begin A-hidden-lines) a-line)) |
| 1470 | (setq a-begin-marker (point-marker)) | 1482 | (setq a-begin-marker (point-marker)) |
| 1471 | (goto-line (+ a-end A-hidden-lines)) | 1483 | (setq a-line (emerge-goto-line (+ a-end A-hidden-lines) a-line)) |
| 1472 | (setq a-end-marker (point-marker))) | 1484 | (setq a-end-marker (point-marker))) |
| 1473 | (emerge-eval-in-buffer | 1485 | (emerge-eval-in-buffer |
| 1474 | B-buffer | 1486 | B-buffer |
| 1475 | (goto-line (+ b-begin B-hidden-lines)) | 1487 | (setq b-line (emerge-goto-line (+ b-begin B-hidden-lines) b-line)) |
| 1476 | (setq b-begin-marker (point-marker)) | 1488 | (setq b-begin-marker (point-marker)) |
| 1477 | (goto-line (+ b-end B-hidden-lines)) | 1489 | (setq b-line (emerge-goto-line (+ b-end B-hidden-lines) b-line)) |
| 1478 | (setq b-end-marker (point-marker))) | 1490 | (setq b-end-marker (point-marker))) |
| 1479 | (setq merge-begin-marker (set-marker | 1491 | (setq merge-begin-marker (set-marker |
| 1480 | (make-marker) | 1492 | (make-marker) |