aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2000-10-05 22:45:59 +0000
committerStefan Monnier2000-10-05 22:45:59 +0000
commiteed914afddd0c1d7a44b74d52a4e438cdfa683c7 (patch)
tree1ab5693313f604023d23dcc69e370858552b3870
parent87cf842124c811be3425fffc8d05d3d6650f4f62 (diff)
downloademacs-eed914afddd0c1d7a44b74d52a4e438cdfa683c7.tar.gz
emacs-eed914afddd0c1d7a44b74d52a4e438cdfa683c7.zip
(cvs-ediff-exit-hook): Expect delete-window to fail.
(cvs-retrieve-revision): Reuse a pre-existing buffer. (cvs-dired-action): Change the default to quickdir.
-rw-r--r--lisp/pcvs.el38
1 files changed, 20 insertions, 18 deletions
diff --git a/lisp/pcvs.el b/lisp/pcvs.el
index b28812f2dd8..4ce2e1c1c7d 100644
--- a/lisp/pcvs.el
+++ b/lisp/pcvs.el
@@ -14,7 +14,7 @@
14;; Maintainer: (Stefan Monnier) monnier+lists/cvs/pcl@flint.cs.yale.edu 14;; Maintainer: (Stefan Monnier) monnier+lists/cvs/pcl@flint.cs.yale.edu
15;; Keywords: CVS, version control, release management 15;; Keywords: CVS, version control, release management
16;; Version: $Name: $ 16;; Version: $Name: $
17;; Revision: $Id: pcvs.el,v 1.9 2000/08/16 20:27:37 monnier Exp $ 17;; Revision: $Id: pcvs.el,v 1.10 2000/09/29 03:14:36 monnier Exp $
18 18
19;; This file is part of GNU Emacs. 19;; This file is part of GNU Emacs.
20 20
@@ -56,6 +56,8 @@
56 56
57;; ******** FIX THE DOCUMENTATION ********* 57;; ******** FIX THE DOCUMENTATION *********
58;; 58;;
59;; - use UP-TO-DATE rather than DEAD when cleaning before `examine'.
60;;
59;; - hide fileinfos without getting rid of them (will require ewok work). 61;; - hide fileinfos without getting rid of them (will require ewok work).
60;; - add toolbar entries 62;; - add toolbar entries
61;; - marking 63;; - marking
@@ -1445,7 +1447,7 @@ Signal an error if there is no backup file."
1445 (when (and tb (buffer-live-p tb) (not (buffer-modified-p tb))) 1447 (when (and tb (buffer-live-p tb) (not (buffer-modified-p tb)))
1446 (let ((win (get-buffer-window tb t))) 1448 (let ((win (get-buffer-window tb t)))
1447 (kill-buffer tb) 1449 (kill-buffer tb)
1448 (when (window-live-p win) (delete-window win))))) 1450 (when (window-live-p win) (ignore-errors (delete-window win))))))
1449 ;; switch back to the *cvs* buffer 1451 ;; switch back to the *cvs* buffer
1450 (when (and cvs-buf (buffer-live-p cvs-buf) 1452 (when (and cvs-buf (buffer-live-p cvs-buf)
1451 (not (get-buffer-window cvs-buf t))) 1453 (not (get-buffer-window cvs-buf t)))
@@ -1470,21 +1472,21 @@ Signal an error if there is no backup file."
1470 1472
1471(defun cvs-retrieve-revision (fileinfo rev) 1473(defun cvs-retrieve-revision (fileinfo rev)
1472 "Retrieve the given REVision of the file in FILEINFO into a new buffer." 1474 "Retrieve the given REVision of the file in FILEINFO into a new buffer."
1473 (save-excursion 1475 (let* ((file (cvs-fileinfo->full-path fileinfo))
1474 (let* ((file (cvs-fileinfo->full-path fileinfo)) 1476 (buffile (concat file "." rev)))
1475 (buf (create-file-buffer (concat file "." rev)))) 1477 (or (find-buffer-visiting buffile)
1476 (set-buffer buf) 1478 (with-current-buffer (create-file-buffer buffile)
1477 (message "Retrieving revision %s..." rev) 1479 (message "Retrieving revision %s..." rev)
1478 (let ((res (call-process cvs-program nil t nil 1480 (let ((res (call-process cvs-program nil t nil
1479 "-q" "update" "-p" "-r" rev file))) 1481 "-q" "update" "-p" "-r" rev file)))
1480 (when (and res (not (and (equal 0 res)))) 1482 (when (and res (not (and (equal 0 res))))
1481 (error "Something went wrong retrieving revision %s: %s" rev res)) 1483 (error "Something went wrong retrieving revision %s: %s" rev res))
1482 (set-buffer-modified-p nil) 1484 (set-buffer-modified-p nil)
1483 (let ((buffer-file-name (expand-file-name file))) 1485 (let ((buffer-file-name (expand-file-name file)))
1484 (after-find-file)) 1486 (after-find-file))
1485 (toggle-read-only 1) 1487 (toggle-read-only 1)
1486 (message "Retrieving revision %s... Done" rev) 1488 (message "Retrieving revision %s... Done" rev)
1487 buf)))) 1489 (current-buffer))))))
1488 1490
1489(eval-and-compile (autoload 'smerge-ediff "smerge-mode")) 1491(eval-and-compile (autoload 'smerge-ediff "smerge-mode"))
1490 1492
@@ -2013,7 +2015,7 @@ this file, or a list of arguments to send to the program."
2013;; 2015;;
2014 2016
2015;;;###autoload 2017;;;###autoload
2016(defcustom cvs-dired-action 'cvs-examine 2018(defcustom cvs-dired-action 'cvs-quickdir
2017 "The action to be performed when opening a CVS directory. 2019 "The action to be performed when opening a CVS directory.
2018Sensible values are `cvs-examine', `cvs-status' and `cvs-quickdir'." 2020Sensible values are `cvs-examine', `cvs-status' and `cvs-quickdir'."
2019 :group 'pcl-cvs 2021 :group 'pcl-cvs