emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/vc-cvs.el,v


From: Dan Nicolaescu
Subject: [Emacs-diffs] Changes to emacs/lisp/vc-cvs.el,v
Date: Wed, 26 Mar 2008 07:15:08 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Dan Nicolaescu <dann>   08/03/26 07:15:07

Index: vc-cvs.el
===================================================================
RCS file: /cvsroot/emacs/emacs/lisp/vc-cvs.el,v
retrieving revision 1.111
retrieving revision 1.112
diff -u -b -r1.111 -r1.112
--- vc-cvs.el   24 Mar 2008 08:36:22 -0000      1.111
+++ vc-cvs.el   26 Mar 2008 07:15:04 -0000      1.112
@@ -823,15 +823,16 @@
 Set file properties accordingly.  Unless FULL is t, parse only
 essential information. Note that this can never set the 'ignored
 state."
-  (let (file status)
+  (let (file status missing)
     (goto-char (point-min))
     (while (looking-at "? \\(.*\\)")
       (setq file (expand-file-name (match-string 1)))
       (vc-file-setprop file 'vc-state 'unregistered)
       (forward-line 1))
-    (if (re-search-forward "^File: " nil t)
+    (when (re-search-forward "^File: " nil t)
+      (when (setq missing (looking-at "no file "))
+       (goto-char (match-end 0)))
         (cond
-         ((looking-at "no file") nil)
          ((re-search-forward "\\=\\([^ \t]+\\)" nil t)
          (setq file (expand-file-name (match-string 1)))
           (vc-file-setprop file 'vc-backend 'CVS)
@@ -853,7 +854,8 @@
              'up-to-date)
             ((string-match "Locally Modified" status)             'edited)
             ((string-match "Needs Merge" status)                  'needs-merge)
-            ((string-match "Needs \\(Checkout\\|Patch\\)" status) 'needs-patch)
+         ((string-match "Needs \\(Checkout\\|Patch\\)" status)
+          (if missing 'missing 'needs-patch))
             ((string-match "Locally Added" status)                'added)
             ((string-match "Locally Removed" status)              'removed)
             (t 'edited))))))))
@@ -879,6 +881,7 @@
        (status-str nil)
        (file nil)
        (result nil)
+       (missing nil)
        (subdir default-directory))
     (goto-char (point-min))
     (while
@@ -901,8 +904,9 @@
        (forward-line 1))
       ;; A file entry.
       (when (re-search-forward "^File: " nil t)
+       (when (setq missing (looking-at "no file "))
+         (goto-char (match-end 0)))
        (cond
-        ((looking-at "no file") nil)
         ((re-search-forward "\\=\\([^ \t]+\\)" nil t)
          (setq file (file-relative-name 
                      (expand-file-name (match-string 1) subdir)))
@@ -915,7 +919,7 @@
                   ((string-match "Locally Modified" status-str) 'edited)
                   ((string-match "Needs Merge" status-str) 'needs-merge)
                   ((string-match "Needs \\(Checkout\\|Patch\\)" status-str)
-                   'needs-patch)
+                   (if missing 'missing 'needs-patch))
                   ((string-match "Locally Added" status-str) 'added)
                   ((string-match "Locally Removed" status-str) 'removed)
                   (t 'edited)))




reply via email to

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