>>>> "Greg" == Greg Klanderman
<greg(a)alphatech.com> writes: 
Greg> Yup, though it took me a minute to
figure that it had to be "rm"ed
Greg> and "cvs rm"ed.  Fix in 1.35, or apply the patch below.  Sending these
Greg> to xemacs-beta is probably not a bad idea.
Doh.  Here's the patch
Index: pcl-cvs.el
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs-packages/prog/pcl-cvs/pcl-cvs.el,v
retrieving revision 2.17
retrieving revision 2.18
diff -u -r2.17 -r2.18
--- pcl-cvs.el	1998/10/13 07:10:07	2.17
+++ pcl-cvs.el	1998/10/15 03:49:56	2.18
@@ -752,7 +752,7 @@
 	(PROG (setq type 'UNRES-CONFLICT)))
        ((REGEXP "File: \\([^ \t]*\\)[ \t]+Status: Locally Added$" 1)
 	(PROG (setq type 'ADDED)))
-       ((REGEXP "File: \\([^ \t]*\\)[ \t]+Status: Locally Removed$" 1)
+       ((REGEXP "File: \\(no file[ \t]+\\)?\\([^ \t]*\\)[ \t]+Status: Locally
Removed$" 2)
 	(PROG (setq type 'REMOVED)))
        ((REGEXP "File: \\([^ \t]*\\)[ \t]+Status: Locally Modified$" 1)
 	(PROG (setq type 'MODIFIED)))
@@ -761,10 +761,10 @@
        ((REGEXP "File: \\([^ \t]*\\)[ \t]+Status: Needs Merge$" 1)
 	(PROG (setq type 'NEED-MERGE))))
       (REGEXP "$")
-      (ALT
-       ((REGEXP " *Version:[ \t]*\\([0-9.]+\\)[ \t]*.*$" 1))
+      (ALT ;; can have a leading `-' when the file is `cvs removed'.
+       ((REGEXP " *Version:[ \t]*\\(-?[0-9.]+\\)[ \t]*.*$" 1))
        ;; NOTE: there's no date on the end of the following for server mode...
-       ((REGEXP " *Working revision:[ \t]*\\([0-9.]+\\)[ \t]*.*$" 1)))
+       ((REGEXP " *Working revision:[ \t]*\\(-?[0-9.]+\\)[ \t]*.*$" 1)))
       (ALT
        ((REGEXP " *RCS Version:[ \t]*\\([0-9.]+\\)[ \t]*.*$" 1))
        ((REGEXP " *Repository revision:[ \t]*\\([0-9.]+\\)[ \t]*\\(.*\\)$" 1
2)))
@@ -1050,21 +1050,21 @@
     (insert
      (cond
       ((eq a 'UPDATED)
-       (format "%s %s Updated    %s %s %s" h s co b f))
+       (format "%s %s Updated     %s %s %s" h s co b f))
       ((eq a 'PATCHED)
-       (format "%s %s Patched    %s    %s" h s b f)) ; impossible in
cvs-examine
+       (format "%s %s Patched     %s    %s" h s b f)) ; impossible in
cvs-examine
       ((eq a 'MODIFIED)
-       (format "%s %s Modified   %s %s %s" h s ci b f))
+       (format "%s %s Modified    %s %s %s" h s ci b f))
       ((eq a 'MERGED)
-       (format "%s %s Merged     %s %s %s" h s ci b f))
+       (format "%s %s Merged      %s %s %s" h s ci b f))
       ((eq a 'CONFLICT)
-       (format "%s %s Conflict   %s %s %s" h s ci b f))
+       (format "%s %s Conflict    %s %s %s" h s ci b f))
       ((eq a 'ADDED)
-       (format "%s %s Added      %s %s %s" h s ci b f))
+       (format "%s %s Added       %s %s %s" h s ci b f))
       ((eq a 'REMOVED)
-       (format "%s %s Removed    %s %s %s" h s ci b f))
+       (format "%s %s Removed     %s %s %s" h s ci b f))
       ((eq a 'UNKNOWN)
-       (format "%s %s Unknown       %s %s" h s b f))
+       (format "%s %s Unknown        %s %s" h s b f))
       ((eq a 'MOD-CONFLICT)
        (format "         %s Conflict: Removed by you, changed in repository:
%s" s f))
       ((eq a 'DIRCHANGE)
@@ -1102,31 +1102,31 @@
     (insert
      (cond
       ((eq a 'NEED-UPDATE)
-       (format "%s %s Need update %s %s %s" h s co b f))
+       (format "%s %s Need-update %s %s %s" h s co b f))
       ((eq a 'UP-TO-DATE)
-       (format "%s %s Up-to-date    %s %s" h s b f))
+       (format "%s %s Up-to-date     %s %s" h s b f))
       ((eq a 'UPDATED)
-       (format "%s %s Updated    %s %s %s" h s co b f))
+       (format "%s %s Updated     %s %s %s" h s co b f))
       ((eq a 'PATCHED)
-       (format "%s %s Patched    %s %s %s" h s co b f))
+       (format "%s %s Patched     %s %s %s" h s co b f))
       ((eq a 'MODIFIED)
-       (format "%s %s Modified   %s %s %s" h s ci b f))
+       (format "%s %s Modified    %s %s %s" h s ci b f))
       ((eq a 'NEED-MERGE)
-       (format "%s Need merge  %s %s" s ci f))
+       (format "%s %s Need-merge  %s %s %s" h s ci b f))
       ((eq a 'MERGED)
-       (format "%s %s Merge      %s %s %s" h s co b f))
+       (format "%s %s Merge       %s %s %s" h s co b f))
       ((eq a 'UNRES-CONFLICT)
-       (format "%s Unresolved conflict %s" s f))
+       (format "%s %s Unresolved-conflict %s %s" h s b f))
       ((eq a 'CONFLICT)
-       (format "%s %s Unresolved conflict %s %s" h s b f))
+       (format "%s %s Unresolved-conflict %s %s" h s b f))
       ((eq a 'ADDED)
-       (format "%s %s Added      %s %s %s" h s b ci f))
+       (format "%s %s Added       %s %s %s" h s ci b f))
       ((eq a 'NEED-REMOVE)
-       (format "%s Need remove %s %s" s ci f))
+       (format "%s %s Need-remove %s %s %s" h s ci b f))
       ((eq a 'REMOVED)
-       (format "%s %s Removed    %s %s %s" h s b ci f))
+       (format "%s %s Removed     %s %s %s" h s ci b f))
       ((eq a 'UNKNOWN)
-       (format "%s %s Unknown       %s %s" h s b f))
+       (format "%s %s Unknown        %s %s" h s b f))
       ((eq a 'MOD-CONFLICT)
        (format "%s Conflict: Removed by you, changed in repository: %s" s f))
       ((eq a 'DIRCHANGE)
Index: pcl-cvs-xemacs.el
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs-packages/prog/pcl-cvs/pcl-cvs-xemacs.el,v
retrieving revision 2.4
retrieving revision 2.5
diff -u -r2.4 -r2.5
--- pcl-cvs-xemacs.el	1998/10/02 05:36:54	2.4
+++ pcl-cvs-xemacs.el	1998/10/15 03:49:55	2.5
@@ -193,11 +193,11 @@
     "Added"
     "Removed"
     ;; cvs-status adds these
-    "Need update"
+    "Need-update"
     "Up-to-date"
-    "Need merge"
+    "Need-merge"
     "Merge"
-    "Need remove")
+    "Need-remove")
   "List of status values to be highlighted as handled in pcl-cvs")
 
 (defconst pcl-cvs-need-action-list
@@ -209,23 +209,23 @@
     "Added[ ]+ci"
     "Removed[ ]+ci"
     ;; cvs-status adds these
-    "Need update[ ]+co"
-    "Need merge[ ]+ci"
+    "Need-update[ ]+co"
+    "Need-merge[ ]+ci"
     "Merge[ ]+co"
-    "Unresolved conflict"
-    "Need remove[ ]+ci")
+    "Unresolved-conflict"
+    "Need-remove[ ]+ci")
   "List of status values to be highlighted as needing action in pcl-cvs")
 
 (defun pcl-cvs-gen-keywords (status-list)
-  (concat "^[ ]*\\([0-9.]+\\)?[ ]*" ; optional head revision
-          "\\([* ]\\) "             ; optional marked indicator
-          "\\("                     ; status and optional ci/co
+  (concat "^[ ]*\\(-?[0-9.]+\\)?[ ]*"  ; optional head revision
+          "\\([* ]\\) "                ; optional marked indicator
+          "\\("                        ; status and optional ci/co
           (mapconcat 'identity
                      status-list
                      "\\|")
           "\\)"
-          "[ ]+\\([0-9.]+\\)?[ ]+"  ; optional base revision
-          "\\(.+\\)$"))             ; file name
+          "[ ]+\\(-?[0-9.]+\\)?[ ]+"   ; optional base revision
+          "\\(.+\\)$"))                ; file name
 
 (defconst pcl-cvs-font-lock-keywords
   (let ((file-line1 (pcl-cvs-gen-keywords pcl-cvs-unknown-list))