From 666721a688ba7d8d9640682053e3b528b6660a97 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andr=C3=A9=20Spiegel?= Date: Sat, 5 Apr 2003 15:51:14 +0000 Subject: [PATCH] (vc-cvs-get-entries): New function that uses the right coding system for accessing CVS/Entries. (vc-cvs-registered, vc-cvs-dir-state-heuristic): Use it. --- lisp/vc-cvs.el | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lisp/vc-cvs.el b/lisp/vc-cvs.el index 9d1674c1490..6d072d0402c 100644 --- a/lisp/vc-cvs.el +++ b/lisp/vc-cvs.el @@ -5,7 +5,7 @@ ;; Author: FSF (see vc.el for full credits) ;; Maintainer: Andre Spiegel -;; $Id: vc-cvs.el,v 1.51 2003/02/17 08:11:13 spiegel Exp $ +;; $Id: vc-cvs.el,v 1.52 2003/03/27 22:38:38 schwab Exp $ ;; This file is part of GNU Emacs. @@ -169,7 +169,7 @@ See also variable `vc-cvs-sticky-date-format-string'." (case-fold-search nil)) (if (file-readable-p (expand-file-name "CVS/Entries" dirname)) (with-temp-buffer - (vc-insert-file (expand-file-name "CVS/Entries" dirname)) + (vc-cvs-get-entries dirname) (goto-char (point-min)) (cond ((re-search-forward @@ -781,7 +781,7 @@ essential information." (defun vc-cvs-dir-state-heuristic (dir) "Find the CVS state of all files in DIR, using only local information." (with-temp-buffer - (vc-insert-file (expand-file-name "CVS/Entries" dir)) + (vc-cvs-get-entries dir) (goto-char (point-min)) (while (not (eobp)) ;; CVS-removed files are not taken under VC control. @@ -791,7 +791,15 @@ essential information." (vc-cvs-parse-entry file t)))) (forward-line 1)))) - +(defun vc-cvs-get-entries (dir) + "Insert the CVS/Entries file from below DIR into the current buffer. +This function ensures that the correct coding system is used for that, +which may not be the one that is used for the files' contents. +CVS/Entries should only be accessed through this function." + (let ((coding-system-for-read (or file-name-coding-system + default-file-name-coding-system))) + (vc-insert-file (expand-file-name "CVS/Entries" dir)))) + (defun vc-cvs-valid-symbolic-tag-name-p (tag) "Return non-nil if TAG is a valid symbolic tag name." ;; According to the CVS manual, a valid symbolic tag must start with -- 2.39.2