diff options
| author | Stefan Monnier | 2000-10-06 16:07:31 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2000-10-06 16:07:31 +0000 |
| commit | d73aed133bcd95d74d7e166b1bb5531328d607e2 (patch) | |
| tree | 794378d0a402dd746456179c7a72d007af70dc28 | |
| parent | 28a53bc103f624644f7502778c12542f4c36e6be (diff) | |
| download | emacs-d73aed133bcd95d74d7e166b1bb5531328d607e2.tar.gz emacs-d73aed133bcd95d74d7e166b1bb5531328d607e2.zip | |
(smerge-diff): Setup the buffer's default-directory
and add filename to the names so that diff-mode can jump to source.
| -rw-r--r-- | lisp/smerge-mode.el | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/lisp/smerge-mode.el b/lisp/smerge-mode.el index 09c6c45abed..9805286ac29 100644 --- a/lisp/smerge-mode.el +++ b/lisp/smerge-mode.el | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | ;; Author: Stefan Monnier <monnier@cs.yale.edu> | 5 | ;; Author: Stefan Monnier <monnier@cs.yale.edu> |
| 6 | ;; Keywords: merge diff3 cvs conflict | 6 | ;; Keywords: merge diff3 cvs conflict |
| 7 | ;; Revision: $Id: smerge-mode.el,v 1.5 2000/08/16 19:51:55 monnier Exp $ | 7 | ;; Revision: $Id: smerge-mode.el,v 1.6 2000/10/05 06:05:51 miles Exp $ |
| 8 | 8 | ||
| 9 | ;; This file is part of GNU Emacs. | 9 | ;; This file is part of GNU Emacs. |
| 10 | 10 | ||
| @@ -349,16 +349,21 @@ The point is moved to the end of the conflict." | |||
| 349 | (let ((name1 (aref smerge-match-names n1)) | 349 | (let ((name1 (aref smerge-match-names n1)) |
| 350 | (name2 (aref smerge-match-names n2)) | 350 | (name2 (aref smerge-match-names n2)) |
| 351 | (file1 (make-temp-file "smerge1")) | 351 | (file1 (make-temp-file "smerge1")) |
| 352 | (file2 (make-temp-file "smerge2"))) | 352 | (file2 (make-temp-file "smerge2")) |
| 353 | (dir default-directory) | ||
| 354 | (file (file-relative-name buffer-file-name))) | ||
| 353 | (write-region (match-beginning n1) (match-end n1) file1) | 355 | (write-region (match-beginning n1) (match-end n1) file1) |
| 354 | (write-region (match-beginning n2) (match-end n2) file2) | 356 | (write-region (match-beginning n2) (match-end n2) file2) |
| 355 | (unwind-protect | 357 | (unwind-protect |
| 356 | (with-current-buffer (get-buffer-create smerge-diff-buffer-name) | 358 | (with-current-buffer (get-buffer-create smerge-diff-buffer-name) |
| 359 | (setq default-directory dir) | ||
| 357 | (let ((inhibit-read-only t)) | 360 | (let ((inhibit-read-only t)) |
| 358 | (erase-buffer) | 361 | (erase-buffer) |
| 359 | (apply 'call-process diff-command nil t nil | 362 | (apply 'call-process diff-command nil t nil |
| 360 | (append smerge-diff-switches | 363 | (append smerge-diff-switches |
| 361 | (list "-L" name1 "-L" name2 file1 file2)))) | 364 | (list "-L" (concat name1 "/" file) |
| 365 | "-L" (concat name2 "/" file) | ||
| 366 | file1 file2)))) | ||
| 362 | (goto-char (point-min)) | 367 | (goto-char (point-min)) |
| 363 | (diff-mode) | 368 | (diff-mode) |
| 364 | (display-buffer (current-buffer) t)) | 369 | (display-buffer (current-buffer) t)) |
| @@ -472,6 +477,10 @@ The point is moved to the end of the conflict." | |||
| 472 | 477 | ||
| 473 | ;;; Change Log: | 478 | ;;; Change Log: |
| 474 | ;; $Log: smerge-mode.el,v $ | 479 | ;; $Log: smerge-mode.el,v $ |
| 480 | ;; Revision 1.6 2000/10/05 06:05:51 miles | ||
| 481 | ;; (smerge-mine-face, smerge-other-face, smerge-base-face, smerge-markers-face): | ||
| 482 | ;; Add dark-background variants. | ||
| 483 | ;; | ||
| 475 | ;; Revision 1.5 2000/08/16 19:51:55 monnier | 484 | ;; Revision 1.5 2000/08/16 19:51:55 monnier |
| 476 | ;; (smerge-mode-menu): Doc fix. | 485 | ;; (smerge-mode-menu): Doc fix. |
| 477 | ;; | 486 | ;; |