aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Monnier2001-12-02 07:40:43 +0000
committerStefan Monnier2001-12-02 07:40:43 +0000
commitca0a7168b29e1d5cb88aeedf05826d5ee60d15b3 (patch)
tree8280d30cd0d220aa6b53b16ebef76fbdffa305df
parent7b73ae06f34ec113c594e923633321efa69c2695 (diff)
downloademacs-ca0a7168b29e1d5cb88aeedf05826d5ee60d15b3.tar.gz
emacs-ca0a7168b29e1d5cb88aeedf05826d5ee60d15b3.zip
(cvs-reread-cvsrc): Don't use cvs-file-to-string.
-rw-r--r--lisp/pcvs.el38
1 files changed, 21 insertions, 17 deletions
diff --git a/lisp/pcvs.el b/lisp/pcvs.el
index aeb7231a65a..82cd661bd02 100644
--- a/lisp/pcvs.el
+++ b/lisp/pcvs.el
@@ -13,7 +13,7 @@
13;; (Jari Aalto+mail.emacs) jari.aalto@poboxes.com 13;; (Jari Aalto+mail.emacs) jari.aalto@poboxes.com
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;; Revision: $Id: pcvs.el,v 1.29 2001/09/22 20:23:16 monnier Exp $ 16;; Revision: $Id: pcvs.el,v 1.30 2001/10/30 04:41:28 monnier Exp $
17 17
18;; This file is part of GNU Emacs. 18;; This file is part of GNU Emacs.
19 19
@@ -173,22 +173,26 @@
173(defun cvs-reread-cvsrc () 173(defun cvs-reread-cvsrc ()
174 "Reset the default arguments to those in the `cvs-cvsrc-file'." 174 "Reset the default arguments to those in the `cvs-cvsrc-file'."
175 (interactive) 175 (interactive)
176 (let ((cvsrc (cvs-file-to-string cvs-cvsrc-file))) 176 (condition-case nil
177 (when (stringp cvsrc) 177 (with-temp-buffer
178 ;; fetch the values 178 (insert-file-contents cvs-cvsrc-file)
179 (dolist (cmd '("cvs" "checkout" "status" "log" "diff" "tag" 179 ;; fetch the values
180 "add" "commit" "remove" "update")) 180 (dolist (cmd '("cvs" "checkout" "status" "log" "diff" "tag"
181 (let* ((sym (intern (concat "cvs-" cmd "-flags"))) 181 "add" "commit" "remove" "update"))
182 (val (when (string-match (concat "^" cmd "\\s-\\(.*\\)$") cvsrc) 182 (goto-char (point-min))
183 (cvs-string->strings (match-string 1 cvsrc))))) 183 (let* ((sym (intern (concat "cvs-" cmd "-flags")))
184 (cvs-flags-set sym 0 val))) 184 (val (when (re-search-forward
185 ;; ensure that cvs doesn't have -q or -Q 185 (concat "^" cmd "\\s-+\\(.*\\)$") nil t)
186 (cvs-flags-set 'cvs-cvs-flags 0 186 (cvs-string->strings (match-string 1)))))
187 (cons "-f" 187 (cvs-flags-set sym 0 val)))
188 (cdr (cvs-partition 188 ;; ensure that cvs doesn't have -q or -Q
189 (lambda (x) (member x '("-q" "-Q"))) 189 (cvs-flags-set 'cvs-cvs-flags 0
190 (cvs-flags-query 'cvs-cvs-flags 190 (cons "-f"
191 nil 'noquery)))))))) 191 (cdr (cvs-partition
192 (lambda (x) (member x '("-q" "-Q")))
193 (cvs-flags-query 'cvs-cvs-flags
194 nil 'noquery))))))
195 (file-error nil)))
192 196
193;; initialize to cvsrc's default values 197;; initialize to cvsrc's default values
194(cvs-reread-cvsrc) 198(cvs-reread-cvsrc)