>>>>> "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))