Took a stab at fixing this problem. It's a subtle bug, below is a patch.
*** vc.el Thu Apr 12 12:58:27 2001
--- vc.el.orig Mon Apr 9 17:53:23 2001
***************
*** 573,580 ****
(message "Running %s on %s..." command file))
(let ((obuf (current-buffer)) (camefrom (current-buffer))
(squeezed nil)
(olddir default-directory)
! vc-file status)
(set-buffer (get-buffer-create buffer))
(set (make-local-variable 'vc-parent-buffer) camefrom)
(set (make-local-variable 'vc-parent-buffer-name)
--- 573,581 ----
(message "Running %s on %s..." command file))
(let ((obuf (current-buffer)) (camefrom (current-buffer))
(squeezed nil)
+ (vc-file (and file (vc-name file)))
(olddir default-directory)
! status)
(set-buffer (get-buffer-create buffer))
(set (make-local-variable 'vc-parent-buffer) camefrom)
(set (make-local-variable 'vc-parent-buffer-name)
***************
*** 586,596 ****
(mapcar
(function (lambda (s) (and s (setq squeezed (append squeezed (list s)))))
)
flags)
! ;; do NOT call vc-name until (eq last 'MASTER). vc-name calls vc-backend,
! ;; which sets the file's 'vc-backend prop. If we preset vc-file in the
! ;; let statement above, the 'vc-backend prop also gets set when (eq last
! ;; 'WORKFILE), which is too soon (occurs when one does a vc-register).
! (if (and (eq last 'MASTER) file (setq vc-file (vc-name file)))
(setq squeezed (append squeezed (list vc-file))))
(if (eq last 'WORKFILE)
(progn
--- 587,593 ----
(mapcar
(function (lambda (s) (and s (setq squeezed (append squeezed (list s)))))
)
flags)
! (if (and vc-file (eq last 'MASTER))
(setq squeezed (append squeezed (list vc-file))))
(if (eq last 'WORKFILE)
(progn
***************
Steve Youngs writes:
From: Steve Youngs <youngs(a)xemacs.org>
To: XEmacs Beta <xemacs-beta(a)xemacs.org>
Cc: Adrian Aichner <adrian(a)xemacs.org>
Subject: [comp.emacs.xemacs,comp.emacs] vc problems in XEmacs 21.1.14
Date: 14 Mar 2001 21:50:12 +1000
Could somebody please take a look at this. Adrian, you were the last
person to sync VC, perhaps you could give it a look.
Thanks.
From: froydnj(a)rose-hulman.edu (Nathan Froyd)
Newsgroups: comp.emacs.xemacs,comp.emacs
Subject: vc problems in XEmacs 21.1.14
Date: 13 Mar 2001 00:56:09 GMT
MIME-Version: 1.0
Using XEmacs 21.1.14, I attempt to do the following:
Open an existing file
C-x v v to place it under version control (RCS 5.7)
C-x v v to check it out for editing
However, this doesn't work. The second `C-x v v' gives me an error,
informing me that running `ci' failed with status code 1. Another `C-x
v v' is necessary to get everything to work correctly.
Furthermore, GNU Emacs exhibits differing behavior. Not only does it
act as expected above, but after the first `C-x v v', it correctly
changes the modeline to reflect that this file is now under RCS control.
This is the second instance where I have discovered that GNU Emacs does
something correctly where XEmacs does not. I hope that this will be
rectified in the next release of XEmacs.
--
</nathan> froydnj(a)rose-hulman.edu |
http://www.rose-hulman.edu/~froydnj/
Yes, God had a deadline. So He wrote it all in Lisp.