What I meant was that vc-version-other-window should automatically make
the old revision buffer read-only. The optional argument you are proposing
should have the opposite meaning: if t then writable.
The problem for me with changing ediff as you proposed here (apart from the
fact that I think it doesn't need to be changed - only vc should be
changed) is that it won't work with, say fsf's version (since, as I
understand, it will not be changed).
--michael
Michael Kifer <kifer <at> cs.sunysb.edu> writes:
> I don't think this is the right solution.
Okay, this works for me as well. Add an optional read-only attribute to
vc-version-other-window (normally ignored) and pass t from ediff-vc-internal.
Skip
*** /tmp/skipm/vc.el Fri Mar 23 07:03:42 2007
--- /tmp/skipm/init.el Fri Mar 23 07:03:42 2007
***************
*** 1,8 ****
! (defun vc-version-other-window (rev)
"Visit version REV of the current buffer in another window.
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."
! (interactive "sVersion to visit (default is latest version): ")
(if vc-dired-mode
(set-buffer (find-file-noselect (dired-get-filename))))
(while vc-parent-buffer
--- 1,8 ----
! (defun vc-version-other-window (rev &optional read-only)
"Visit version REV of the current buffer in another window.
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."
! (interactive "sVersion to visit (default is latest version): \ni")
(if vc-dired-mode
(set-buffer (find-file-noselect (dired-get-filename))))
(while vc-parent-buffer
***************
*** 14,18 ****
(filename (concat buffer-file-name ".~" version "~")))
(or (file-exists-p filename)
(vc-backend-checkout buffer-file-name nil version filename))
! (find-file-other-window filename))
(vc-registration-error buffer-file-name)))
--- 14,19 ----
(filename (concat buffer-file-name ".~" version "~")))
(or (file-exists-p filename)
(vc-backend-checkout buffer-file-name nil version filename))
! (find-file-other-window filename)
! (setq buffer-read-only read-only))
(vc-registration-error buffer-file-name)))
*** /tmp/skipm/ediff-vers.el Fri Mar 23 07:04:37 2007
--- /tmp/skipm/init.el Fri Mar 23 07:04:37 2007
***************
*** 9,20 ****
(setq rev1 (ediff-vc-latest-version (buffer-file-name))))
(save-window-excursion
(save-excursion
! (vc-version-other-window rev1)
(setq rev1buf (current-buffer)
file1 (buffer-file-name)))
(save-excursion
(or (string= rev2 "") ; use current buffer
! (vc-version-other-window rev2))
(setq rev2buf (current-buffer)
file2 (buffer-file-name)))
(setq startup-hooks
--- 9,20 ----
(setq rev1 (ediff-vc-latest-version (buffer-file-name))))
(save-window-excursion
(save-excursion
! (vc-version-other-window rev1 t)
(setq rev1buf (current-buffer)
file1 (buffer-file-name)))
(save-excursion
(or (string= rev2 "") ; use current buffer
! (vc-version-other-window rev2 t))
(setq rev2buf (current-buffer)
file2 (buffer-file-name)))
(setq startup-hooks
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta
_______________________________________________
XEmacs-Beta mailing list
XEmacs-Beta(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-beta