emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs/lisp ChangeLog vc-cvs.el


From: Glenn Morris
Subject: [Emacs-diffs] emacs/lisp ChangeLog vc-cvs.el
Date: Thu, 01 Oct 2009 02:23:33 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Glenn Morris <gm>       09/10/01 02:23:33

Modified files:
        lisp           : ChangeLog vc-cvs.el 

Log message:
        (vc-cvs-parse-entry): Be more careful with the match-data.  (Bug#4555).

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/ChangeLog?cvsroot=emacs&r1=1.16305&r2=1.16306
http://cvs.savannah.gnu.org/viewcvs/emacs/lisp/vc-cvs.el?cvsroot=emacs&r1=1.170&r2=1.171

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/emacs/emacs/lisp/ChangeLog,v
retrieving revision 1.16305
retrieving revision 1.16306
diff -u -b -r1.16305 -r1.16306
--- ChangeLog   1 Oct 2009 02:19:38 -0000       1.16305
+++ ChangeLog   1 Oct 2009 02:23:29 -0000       1.16306
@@ -1,5 +1,8 @@
 2009-10-01  Glenn Morris  <address@hidden>
 
+       * vc-cvs.el (vc-cvs-parse-entry): Be more careful with the
+       match-data.  (Bug#4555).
+
        * cedet/semantic/bovine/gcc.el
        (semantic-c-reset-preprocessor-symbol-map): Fix declaration.
        (semantic-gcc-get-include-paths, semantic-gcc-setup-data): Doc fixes.

Index: vc-cvs.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/vc-cvs.el,v
retrieving revision 1.170
retrieving revision 1.171
diff -u -b -r1.170 -r1.171
--- vc-cvs.el   14 Sep 2009 04:38:55 -0000      1.170
+++ vc-cvs.el   1 Oct 2009 02:23:33 -0000       1.171
@@ -955,6 +955,7 @@
   )
 
 ;; Based on vc-cvs-dir-state-heuristic from Emacs 22.
+;; FIXME does not mention unregistered files.
 (defun vc-cvs-dir-status-heuristic (dir update-function &optional basedir)
   "Find the CVS state of all files in DIR, using only local information."
   (let (file basename status result dirlist)
@@ -1164,18 +1165,18 @@
     ;; This is intentionally different from the algorithm that CVS uses
     ;; (which is based on textual comparison), because there can be problems
     ;; generating a time string that looks exactly like the one from CVS.
-    (let ((mtime (nth 5 (file-attributes file))))
-      (require 'parse-time)
-      (let ((parsed-time
-            (parse-time-string (concat (match-string 2) " +0000"))))
-       (cond ((and (not (string-match "\\+" (match-string 2)))
+    (let* ((time (match-string 2))
+           (mtime (nth 5 (file-attributes file)))
+           (parsed-time (progn (require 'parse-time)
+                               (parse-time-string (concat time " +0000")))))
+      (cond ((and (not (string-match "\\+" time))
                    (car parsed-time)
                    (equal mtime (apply 'encode-time parsed-time)))
               (vc-file-setprop file 'vc-checkout-time mtime)
               (if set-state (vc-file-setprop file 'vc-state 'up-to-date)))
              (t
               (vc-file-setprop file 'vc-checkout-time 0)
-              (if set-state (vc-file-setprop file 'vc-state 'edited)))))))))
+             (if set-state (vc-file-setprop file 'vc-state 'edited))))))))
 
 ;; Completion of revision names.
 ;; Just so I don't feel like I'm duplicating code from pcl-cvs, I'll use




reply via email to

[Prev in Thread] Current Thread [Next in Thread]