(vc-cvs-state-heuristic, vc-cvs-parse-status): Try and
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 30 May 2008 16:21:49 +0000 (16:21 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 30 May 2008 16:21:49 +0000 (16:21 +0000)
return `unregistered' when applicable.

lisp/ChangeLog
lisp/vc-cvs.el

index 59d1008..a4634a6 100644 (file)
@@ -1,5 +1,8 @@
 2008-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
 
+       * vc-cvs.el (vc-cvs-state-heuristic, vc-cvs-parse-status): Try and
+       return `unregistered' when applicable.
+
        * emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
        Don't encourage naming variables with "-flag".
 
 
        * vc.el (vc-delete-file): Don't try to resynch the buffer.
 
-2008-05-23  Paul R  <paul.r.ml@gmail.com>
+2008-05-23  Paul Rivier  <paul.r.ml@gmail.com>
 
        * textmodes/reftex-vars.el (reftex-extra-bindings-prefix): New var.
        * textmodes/reftex.el (reftex-extra-bindings-map): New var.
index 30f32df..091c36c 100644 (file)
@@ -231,6 +231,7 @@ See also variable `vc-cvs-sticky-date-format-string'."
     (cond
      ((equal checkout-time lastmod) 'up-to-date)
      ((string= (vc-working-revision file) "0") 'added)
+     ((null checkout-time) 'unregistered)
      (t 'edited))))
 
 (defun vc-cvs-working-revision (file)
@@ -800,9 +801,8 @@ state."
        ((re-search-forward "\\=\\([^ \t]+\\)" nil t)
        (setq file (expand-file-name (match-string 1)))
        (vc-file-setprop file 'vc-backend 'CVS)
-       (if (not (re-search-forward "\\=[ \t]+Status: \\(.*\\)" nil t))
-           (setq status "Unknown")
-         (setq status (match-string 1)))
+       (setq status(if (re-search-forward "\\=[ \t]+Status: \\(.*\\)" nil t)
+                        (match-string 1) "Unknown"))
        (when (and full
                   (re-search-forward
                    "\\(RCS Version\\|RCS Revision\\|Repository revision\\):\
@@ -823,6 +823,7 @@ state."
          ((string-match "Locally Added" status)                'added)
          ((string-match "Locally Removed" status)              'removed)
          ((string-match "File had conflicts " status)          'conflict)
+          ((string-match "Unknown" status)                     'unregistered)
          (t 'edited))))))))
 
 (defun vc-cvs-after-dir-status (update-function)