summaryrefslogtreecommitdiff
path: root/lisp/pcvs.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2000-12-18 03:17:46 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2000-12-18 03:17:46 +0000
commit73eff59992932bf78951e4c0426f6cb604e0aa52 (patch)
tree97a83dcfab49dc31e0a09c821f7cb7bc37947870 /lisp/pcvs.el
parentc64c05511ba5619898078fda33a7d61c44ed89f9 (diff)
downloademacs-73eff59992932bf78951e4c0426f6cb604e0aa52.tar.gz
(cvs-diff-backup-extractor): Return full-path for file.
(cvs-execute-single-file): Don't change directory. Patch from Per Cederqvist.
Diffstat (limited to 'lisp/pcvs.el')
-rw-r--r--lisp/pcvs.el24
1 files changed, 10 insertions, 14 deletions
diff --git a/lisp/pcvs.el b/lisp/pcvs.el
index 6ee5b3adf76..1be24c9e1bb 100644
--- a/lisp/pcvs.el
+++ b/lisp/pcvs.el
@@ -1,6 +1,6 @@
;;; pcvs.el -- A Front-end to CVS.
-;; Copyright (C) 1991, 92, 93, 94, 95, 95, 97, 98, 99, 2000 Free Software Foundation, Inc.
+;; Copyright (C) 1991,92,93,94,95,95,97,98,99,2000 Free Software Foundation, Inc.
;; Author: (The PCL-CVS Trust) pcl-cvs@cyclic.com
;; (Per Cederqvist) ceder@lysator.liu.se
@@ -13,8 +13,7 @@
;; (Jari Aalto+mail.emacs) jari.aalto@poboxes.com
;; Maintainer: (Stefan Monnier) monnier+lists/cvs/pcl@flint.cs.yale.edu
;; Keywords: CVS, version control, release management
-;; Version: $Name: $
-;; Revision: $Id: pcvs.el,v 1.21 2000/12/10 21:20:56 monnier Exp $
+;; Revision: $Id: pcvs.el,v 1.22 2000/12/11 03:20:21 monnier Exp $
;; This file is part of GNU Emacs.
@@ -1428,7 +1427,7 @@ Signal an error if there is no backup file."
(let ((backup-file (cvs-fileinfo->backup-file fileinfo)))
(unless backup-file
(error "%s has no backup file." (cvs-fileinfo->full-path fileinfo)))
- (list backup-file (cvs-fileinfo->file fileinfo))))
+ (list backup-file (cvs-fileinfo->full-path fileinfo))))
;;
;; Emerge support
@@ -1948,17 +1947,15 @@ With prefix argument, prompt for cvs flags."
(defun cvs-execute-single-file (fi extractor program constant-args)
"Internal function for `cvs-execute-single-file-list'."
- (let* ((cur-dir (cvs-fileinfo->dir fi))
- (default-directory (cvs-expand-dir-name cur-dir))
- (inhibit-read-only t)
- (arg-list (funcall extractor fi)))
+ (let* ((arg-list (funcall extractor fi))
+ (inhibit-read-only t))
;; Execute the command unless extractor returned t.
(when (listp arg-list)
(let* ((args (append constant-args arg-list)))
- (insert (format "=== cd %s\n=== %s %s\n\n"
- cur-dir program (cvs-strings->string args)))
+ (insert (format "=== %s %s\n\n"
+ program (cvs-strings->string args)))
;; FIXME: return the exit status?
(apply 'call-process program nil t t args)
@@ -1967,10 +1964,9 @@ With prefix argument, prompt for cvs flags."
;; FIXME: make this run in the background ala cvs-run-process...
(defun cvs-execute-single-file-list (fis extractor program constant-args)
"Run PROGRAM on all elements on FIS.
-The PROGRAM will be called with pwd set to the directory the files
-reside in. CONSTANT-ARGS is a list of strings to pass as arguments to
-PROGRAM. The arguments given to the program will be CONSTANT-ARGS
-followed by the list that EXTRACTOR returns.
+CONSTANT-ARGS is a list of strings to pass as arguments to PROGRAM.
+The arguments given to the program will be CONSTANT-ARGS followed by
+the list that EXTRACTOR returns.
EXTRACTOR will be called once for each file on FIS. It is given
one argument, the cvs-fileinfo. It can return t, which means ignore