Well, I found a patch that solves one of the vc problems. The one where vc
would move files to another directory when you attempt to do a
vc-revert-buffer. This is essentially the same code used in the fsf emacs
version.
*** vc.el Wed Apr 11 11:03:21 2001
--- vc.el.orig Mon Apr 9 17:53:23 2001
***************
*** 2012,2029 ****
;; This operation should always ask for confirmation.
(vc-suppress-confirm nil)
(obuf (current-buffer)) (changed (vc-diff nil t)))
!
! (if changed
! (unwind-protect
! (if (not (yes-or-no-p "Discard changes? "))
! (error "Revert cancelled"))
(if (and (window-dedicated-p (selected-window))
(one-window-p t 'selected-frame))
(make-frame-invisible (selected-frame))
! (delete-window))))
! (set-buffer obuf)
(vc-backend-revert file)
! (vc-resynch-window file t t))
)
;;;###autoload
--- 2012,2033 ----
;; This operation should always ask for confirmation.
(vc-suppress-confirm nil)
(obuf (current-buffer)) (changed (vc-diff nil t)))
! (if (and changed (not (yes-or-no-p "Discard changes? ")))
! (progn
(if (and (window-dedicated-p (selected-window))
(one-window-p t 'selected-frame))
(make-frame-invisible (selected-frame))
! (delete-window))
! (error "Revert cancelled"))
! (set-buffer obuf))
! (if changed
! (if (and (window-dedicated-p (selected-window))
! (one-window-p t 'selected-frame))
! (make-frame-invisible (selected-frame))
! (delete-window)))
(vc-backend-revert file)
! (vc-resynch-window file t t)
! )
)
Albert L. Ting writes:
From: "Albert L. Ting" <alt(a)artisan.com>
To: Adrian.Aichner(a)t-online.de
Cc: alt(a)artisan.com, youngs(a)xemacs.org, froydnj(a)rose-hulman.edu,
xemacs-beta(a)xemacs.org, adrian(a)xemacs.org
Subject: Re: [comp.emacs.xemacs,comp.emacs] vc problems in XEmacs 21.1.14
Date: Mon, 19 Mar 2001 17:59:41 -0800
Thanks a bunch Adrian! This is the other vc related problem, where xemacs
will sometimes move cvs'd files to other directories.
This bug used to exist with GNU Emacs but was fixed about 1-2 years ago.
I don't remember how it was fixed.
Create the following directory setup. I'm using RCS as an example, but the
same problem occurs with CVS.
$ ls *
dir1:
RCS/ file1
dir2:
file2
With file1 already checked in. Now run xemacs, and load the vc.el
package. In one frame, open three windows with these buffers:
file2
------------
file2
------------
file1
Go to the third window, checkout file1, edit the text, then save. Now
do a vc-revert-buffer and say "yes" to cancel the changes. dir1/file1
does not change. However, a fresh copy is incorrectly stored in
dir2/file1!
Albert