# HG changeset patch # User Michael Kifer # Date 1043482156 0 # Node ID 0f80cb4f9d298b749d539f3c02b3f35959fd464d # Parent 5c89d088d7377718e7a4e85787393356c3eed0c8 2003-01-25 Michael Kifer * ediff.el (ediff-revision): better defaults. * ediff-vers.el (ediff-vc-latest-version): new function. (ediff-vc-internal): use latest version instead of working version. diff -r 5c89d088d737 -r 0f80cb4f9d29 lisp/ChangeLog --- a/lisp/ChangeLog Sat Jan 25 02:45:12 2003 +0000 +++ b/lisp/ChangeLog Sat Jan 25 08:09:16 2003 +0000 @@ -1,3 +1,10 @@ +2003-01-25 Michael Kifer + + * ediff.el (ediff-revision): better defaults. + + * ediff-vers.el (ediff-vc-latest-version): new function. + (ediff-vc-internal): use latest version instead of working version. + 2003-01-24 Thien-Thi Nguyen * info.el (Info-extract-menu-node-name): When looking for end of menu diff -r 5c89d088d737 -r 0f80cb4f9d29 lisp/ediff-vers.el --- a/lisp/ediff-vers.el Sat Jan 25 02:45:12 2003 +0000 +++ b/lisp/ediff-vers.el Sat Jan 25 08:09:16 2003 +0000 @@ -52,12 +52,28 @@ ;; end pacifier ;; VC.el support + +(defun ediff-vc-latest-version (file) + "Return the version level of the latest version of FILE in repository." + (if (fboundp 'vc-latest-version) + (vc-latest-version file) + (or (vc-file-getprop file 'vc-latest-version) + (cond ((vc-backend file) + (vc-call state file) + (vc-file-getprop file 'vc-latest-version)) + (t (error "File %s is not under version control" file)))) + )) + + (defun ediff-vc-internal (rev1 rev2 &optional startup-hooks) -;; Run Ediff on versions of the current buffer. -;; If REV2 is "" then compare current buffer with REV1. -;; If the current buffer is named `F', the version is named `F.~REV~'. -;; If `F.~REV~' already exists, it is used instead of being re-created. + ;; Run Ediff on versions of the current buffer. + ;; If REV1 is "", use the latest version of the current buffer's file. + ;; If REV2 is "" then compare current buffer with REV1. + ;; If the current buffer is named `F', the version is named `F.~REV~'. + ;; If `F.~REV~' already exists, it is used instead of being re-created. (let (file1 file2 rev1buf rev2buf) + (if (string= rev1 "") + (setq rev1 (ediff-vc-latest-version (buffer-file-name)))) (save-window-excursion (save-excursion (vc-version-other-window rev1) diff -r 5c89d088d737 -r 0f80cb4f9d29 lisp/ediff.el --- a/lisp/ediff.el Sat Jan 25 02:45:12 2003 +0000 +++ b/lisp/ediff.el Sat Jan 25 08:09:16 2003 +0000 @@ -1,13 +1,13 @@ ;;; ediff.el --- a comprehensive visual interface to diff & patch -;; Copyright (C) 1994, 95, 96, 97, 98, 99, 2000, 01, 02 Free Software Foundation, Inc. +;; Copyright (C) 1994, 95, 96, 97, 98, 99, 2000, 01, 02, 03 Free Software Foundation, Inc. ;; Author: Michael Kifer ;; Created: February 2, 1994 ;; Keywords: comparing, merging, patching, tools, unix -(defconst ediff-version "2.77" "The current version of Ediff") -(defconst ediff-date "March 5, 2002" "Date of last update") +(defconst ediff-version "2.78" "The current version of Ediff") +(defconst ediff-date "January 25, 2003" "Date of last update") ;; This file is part of GNU Emacs. @@ -1353,11 +1353,11 @@ (let (rev1 rev2) (setq rev1 (read-string - (format "Version 1 to compare (default: %s's working version): " + (format "Revision 1 to compare (default: %s's latest revision): " (file-name-nondirectory file))) rev2 (read-string - (format "Version 2 to compare (default: %s): " + (format "Revision 2 to compare (default: %s's current state): " (file-name-nondirectory file)))) (ediff-load-version-control) (funcall diff -r 5c89d088d737 -r 0f80cb4f9d29 man/ediff.texi --- a/man/ediff.texi Sat Jan 25 02:45:12 2003 +0000 +++ b/man/ediff.texi Sat Jan 25 08:09:16 2003 +0000 @@ -2434,6 +2434,7 @@ David Prince (dave0d@@fegs.co.uk), Paul Raines (raines@@slac.stanford.edu), Stefan Reicher (xsteve@@riic.at), +Charles Rich (rich@@merl.com), Bill Richter (richter@@math.nwu.edu), C.S.@: Roberson (roberson@@aur.alcatel.com), Kevin Rodgers (kevin.rodgers@@ihs.com),