Mercurial > emacs
comparison lisp/smerge-mode.el @ 47756:b2c9ea334a34
(smerge-ediff): Add name-{mine,other,base} args.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Fri, 04 Oct 2002 15:25:22 +0000 |
parents | f06f993cfd92 |
children | 45dcf3407814 |
comparison
equal
deleted
inserted
replaced
47755:aeb8117c2101 | 47756:b2c9ea334a34 |
---|---|
2 | 2 |
3 ;; Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. | 3 ;; Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. |
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.16 2002/08/15 00:24:56 monnier Exp $ | 7 ;; Revision: $Id: smerge-mode.el,v 1.17 2002/09/03 01:20:20 monnier Exp $ |
8 | 8 |
9 ;; This file is part of GNU Emacs. | 9 ;; This file is part of GNU Emacs. |
10 | 10 |
11 ;; GNU Emacs is free software; you can redistribute it and/or modify | 11 ;; GNU Emacs is free software; you can redistribute it and/or modify |
12 ;; it under the terms of the GNU General Public License as published by | 12 ;; it under the terms of the GNU General Public License as published by |
415 (defvar smerge-ediff-buf) | 415 (defvar smerge-ediff-buf) |
416 (defvar ediff-buffer-A) | 416 (defvar ediff-buffer-A) |
417 (defvar ediff-buffer-B) | 417 (defvar ediff-buffer-B) |
418 (defvar ediff-buffer-C) | 418 (defvar ediff-buffer-C) |
419 | 419 |
420 (defun smerge-ediff () | 420 (defun smerge-ediff (&optional name-mine name-other name-base) |
421 "Invoke ediff to resolve the conflicts." | 421 "Invoke ediff to resolve the conflicts. |
422 NAME-MINE, NAME-OTHER, and NAME-BASE, if non-nil, are used for the | |
423 buffer names." | |
422 (interactive) | 424 (interactive) |
423 (let* ((buf (current-buffer)) | 425 (let* ((buf (current-buffer)) |
424 (mode major-mode) | 426 (mode major-mode) |
425 ;;(ediff-default-variant 'default-B) | 427 ;;(ediff-default-variant 'default-B) |
426 (config (current-window-configuration)) | 428 (config (current-window-configuration)) |
427 (filename (file-name-nondirectory buffer-file-name)) | 429 (filename (file-name-nondirectory buffer-file-name)) |
428 (mine (generate-new-buffer (concat "*" filename " MINE*"))) | 430 (mine (generate-new-buffer |
429 (other (generate-new-buffer (concat "*" filename " OTHER*"))) | 431 (or name-mine (concat "*" filename " MINE*")))) |
432 (other (generate-new-buffer | |
433 (or name-other (concat "*" filename " OTHER*")))) | |
430 base) | 434 base) |
431 (with-current-buffer mine | 435 (with-current-buffer mine |
432 (buffer-disable-undo) | 436 (buffer-disable-undo) |
433 (insert-buffer-substring buf) | 437 (insert-buffer-substring buf) |
434 (goto-char (point-min)) | 438 (goto-char (point-min)) |
448 (buffer-enable-undo) | 452 (buffer-enable-undo) |
449 (set-buffer-modified-p nil) | 453 (set-buffer-modified-p nil) |
450 (funcall mode)) | 454 (funcall mode)) |
451 | 455 |
452 (when base | 456 (when base |
453 (setq base (generate-new-buffer (concat "*" filename " BASE*"))) | 457 (setq base (generate-new-buffer |
458 (or name-base (concat "*" filename " BASE*")))) | |
454 (with-current-buffer base | 459 (with-current-buffer base |
455 (buffer-disable-undo) | 460 (buffer-disable-undo) |
456 (insert-buffer-substring buf) | 461 (insert-buffer-substring buf) |
457 (goto-char (point-min)) | 462 (goto-char (point-min)) |
458 (while (smerge-find-conflict) | 463 (while (smerge-find-conflict) |