(calendar-dst-check-each-year-flag): Avoid
[bpt/emacs.git] / lisp / vc-sccs.el
index c81d3e8..ae349f5 100644 (file)
@@ -1,11 +1,12 @@
 ;;; vc-sccs.el --- support for SCCS version-control
 
-;; Copyright (C) 1992,93,94,95,96,97,98,99,2000,2001 Free Software Foundation, Inc.
+;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+;;   2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
 
 ;; Author:     FSF (see vc.el for full credits)
 ;; Maintainer: Andre Spiegel <spiegel@gnu.org>
 
-;; $Id: vc-sccs.el,v 1.23 2003/08/12 18:01:21 spiegel Exp $
+;; $Id$
 
 ;; This file is part of GNU Emacs.
 
@@ -21,8 +22,8 @@
 
 ;; You should have received a copy of the GNU General Public License
 ;; along with GNU Emacs; see the file COPYING.  If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
 
 ;;; Commentary:
 
@@ -107,7 +108,7 @@ For a description of possible values, see `vc-check-master-templates'."
               (if (vc-workfile-unchanged-p file)
                   'up-to-date
                 'unlocked-changes)
-            (if (string= locking-user (vc-user-login-name))
+            (if (string= locking-user (vc-user-login-name file))
                 'edited
               locking-user)))
       'up-to-date)))
@@ -121,15 +122,15 @@ For a description of possible values, see `vc-check-master-templates'."
       ;; We have to be careful not to exclude files with execute bits on;
       ;; scripts can be under version control too.  Also, we must ignore the
       ;; group-read and other-read bits, since paranoid users turn them off.
-      (let* ((attributes (file-attributes file))
-             (owner-uid  (nth 2 attributes))
+      (let* ((attributes  (file-attributes file 'string))
+             (owner-name  (nth 2 attributes))
              (permissions (nth 8 attributes)))
        (if (string-match ".r-..-..-." permissions)
             'up-to-date
           (if (string-match ".rw..-..-." permissions)
               (if (file-ownership-preserved-p file)
                   'edited
-                (vc-user-login-name owner-uid))
+                owner-name)
             ;; Strange permissions.
             ;; Fall through to real state computation.
             (vc-sccs-state file))))
@@ -150,7 +151,7 @@ For a description of possible values, see `vc-check-master-templates'."
   'locking)
 
 (defun vc-sccs-workfile-unchanged-p (file)
-  "SCCS-specific implementation of vc-workfile-unchanged-p."
+  "SCCS-specific implementation of `vc-workfile-unchanged-p'."
   (zerop (apply 'vc-do-command nil 1 "vcdiff" (vc-name file)
                 (list "--brief" "-q"
                       (concat "-r" (vc-workfile-version file))))))
@@ -270,9 +271,9 @@ EDITABLE non-nil means previous version should be locked."
 ;;; History functions
 ;;;
 
-(defun vc-sccs-print-log (file)
+(defun vc-sccs-print-log (file &optional buffer)
   "Get change log associated with FILE."
-  (vc-do-command nil 0 "prs" (vc-name file)))
+  (vc-do-command buffer 0 "prs" (vc-name file)))
 
 (defun vc-sccs-logentry-check ()
   "Check that the log entry in the current buffer is acceptable for SCCS."
@@ -280,11 +281,11 @@ EDITABLE non-nil means previous version should be locked."
     (goto-char 512)
     (error "Log must be less than 512 characters; point is now at pos 512")))
 
-(defun vc-sccs-diff (file &optional oldvers newvers)
+(defun vc-sccs-diff (file &optional oldvers newvers buffer)
   "Get a difference report using SCCS between two versions of FILE."
   (setq oldvers (vc-sccs-lookup-triple file oldvers))
   (setq newvers (vc-sccs-lookup-triple file newvers))
-  (apply 'vc-do-command "*vc-diff*" 1 "vcdiff" (vc-name file)
+  (apply 'vc-do-command (or buffer "*vc-diff*") 1 "vcdiff" (vc-name file)
          (append (list "-q"
                        (and oldvers (concat "-r" oldvers))
                        (and newvers (concat "-r" newvers)))
@@ -397,5 +398,5 @@ If NAME is nil or a version number string it's just passed through."
 
 (provide 'vc-sccs)
 
-;;; arch-tag: d751dee3-d7b3-47e1-95e3-7ae98c052041
+;; arch-tag: d751dee3-d7b3-47e1-95e3-7ae98c052041
 ;;; vc-sccs.el ends here