Bug 129874 - xemacs cvs problems
Summary: xemacs cvs problems
Status: RESOLVED FIXED
Alias: None
Product: SUSE Linux 10.1
Classification: openSUSE
Component: X11 Applications (show other bugs)
Version: Final
Hardware: x86-64 Linux
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Mike Fabian
QA Contact: Stefan Dirsch
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-10-20 22:00 UTC by August Hörandl
Modified: 2006-07-06 08:07 UTC (History)
2 users (show)

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments
gkrellShoot_04-09-02_111912.jpg (111.72 KB, image/jpeg)
2006-06-29 09:56 UTC, Mike Fabian
Details
bugzilla-129874-do-not-output-useless-error-messages-when-using-cvs-status.patch (575 bytes, patch)
2006-06-29 10:06 UTC, Mike Fabian
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description August Hörandl 2005-10-20 22:00:01 UTC
cvs-status gives a lot error messages and no usable text; cvs-update 
works ok 
 
sample: 
In directory .: 
Message:  Parser Error: 
'===================================================================' 
Message:  Parser Error: 'File: .cvsignore       	Status: Up-to-date' 
Message:  Parser Error: '' 
Message:  Parser Error: '   Working revision:	1.2	2005-10-20 23:50:34 
+0200' 
Message:  Parser Error: '   Repository revision:	
1.2	/home/hoerandl/cvsroot/homepage/elina/hoerandl/.cvsignore,v' 
Message:  Parser Error: '   Commit Identifier:	6e83435811534567' 
Message:  Parser Error: '   Sticky Tag:		(none)' 
Message:  Parser Error: '   Sticky Date:		(none)' 
Message:  Parser Error: '   Sticky Options:	(none)' 
Message:  Parser Error: '' 
Message:  Parser Error: '   Existing Tags:' 
Message:  Parser Error: '	No Tags Exist' 
Message:  Parser Error: '' 
Message:  Parser Error: 
'===================================================================' 
Message:  Parser Error: 'File: create           	Status: Up-to-date' 
Message:  Parser Error: '' 
Message:  Parser Error: '   Working revision:	1.10	2005-03-06 12:58:09 
+0100' 
Message:  Parser Error: '   Repository revision:	
1.10	/home/hoerandl/cvsroot/homepage/elina/hoerandl/create,v' 
Message:  Parser Error: '   Commit Identifier:	(none)' 
Message:  Parser Error: '   Sticky Tag:		(none)' 
Message:  Parser Error: '   Sticky Date:		(none)' 
Message:  Parser Error: '   Sticky Options:	(none)' 
Message:  Parser Error: '' 
Message:  Parser Error: '   Existing Tags:' 
Message:  Parser Error: '	No Tags Exist' 
Message:  Parser Error: '' 
Message:  Parser Error: 
'===================================================================' 
Message:  Parser Error: 'File: create-folien    	Status: Up-to-date' 
Message:  Parser Error: '' 
Message:  Parser Error: '   Working revision:	1.3	2005-03-06 13:51:47 
+0100' 
Message:  Parser Error: '   Repository revision:	
1.3	/home/hoerandl/cvsroot/homepage/elina/hoerandl/create-folien,v' 
Message:  Parser Error: '   Commit Identifier:	(none)' 
Message:  Parser Error: '   Sticky Tag:		(none)' 
Message:  Parser Error: '   Sticky Date:		(none)' 
Message:  Parser Error: '   Sticky Options:	(none)' 
Message:  Parser Error: '' 
Message:  Parser Error: '   Existing Tags:' 
Message:  Parser Error: '	No Tags Exist' 
Message:  Parser Error: '' 
Message:  Parser Error: 
'==================================================================='
Comment 1 Mike Fabian 2006-03-21 16:27:07 UTC
Bug still exists with XEmacs 21.5.25 and xemacs-packages-20051208.
Comment 2 Mike Fabian 2006-06-28 14:04:59 UTC
Moving bug to SUSE Linux 10.1.
Comment 3 Mike Fabian 2006-06-28 14:57:08 UTC
August Hörandl> cvs-status gives a lot error messages

Yes.

August Hörandl> and no usable text;

That's not true, apart from the string "Parser Error:", the output seems to be perfectly OK.
GNU Emacs produces output like this when calling 'M-x cvs-status':

In directory .:
Message: ===================================================================
Message: File: Common.xcu.template	Status: Up-to-date
Message: 
Message:    Working revision:	1.2	2004-10-01 19:57:05 +0200
Message:    Repository revision:	1.2	/home/mfabian/cvsroot/suse/fonts-config/Common.xcu.template,v
Message:    Commit Identifier:	(none)
Message:    Sticky Tag:		(none)
Message:    Sticky Date:		(none)
Message:    Sticky Options:	(none)
Message: 
Message: ===================================================================
Message: File: Makefile         	Status: Up-to-date
Message: 
Message:    Working revision:	1.4	2005-09-06 18:22:58 +0200
Message:    Repository revision:	1.4	/home/mfabian/cvsroot/suse/fonts-config/Makefile,v
Message:    Commit Identifier:	5803431dc78b4567
Message:    Sticky Tag:		(none)
Message:    Sticky Date:		(none)
Message:    Sticky Options:	(none)
Message: 
Message: ===================================================================
Message: File: SuSEconfig.fonts 	Status: Up-to-date
[...]

This is the same as XEmacs, only the "Parser Error" is missing.

Comment 4 Mike Fabian 2006-06-28 15:08:15 UTC
Comparing the function 'cvs-parse-run-table:

XEmacs:
=======

;; This is how parser tables should be executed
(defun cvs-parse-run-table (parse-spec)
  "Run PARSE-SPEC and provide sensible default behavior."
  (unless (bolp) (forward-line 1))	;this should never be needed
  (let ((cvs-start (point)))
    (cvs-or
     (funcall parse-spec)

     (dolist (re cvs-parse-ignored-messages)
       (when (cvs-match re) (return t)))

     ;; This is a parse error.  Create a message-type fileinfo.
     (and
      (cvs-match ".*$")
      (cvs-create-fileinfo 'MESSAGE cvs-current-dir " "
			   (concat " Parser Error: '" (cvs-parse-msg) "'")
			   :subtype 'ERROR)))))

GNU Emacs:
==========

;; This is how parser tables should be executed
(defun cvs-parse-run-table (parse-spec)
  "Run PARSE-SPEC and provide sensible default behavior."
  (unless (bolp) (forward-line 1))	;this should never be needed
  (let ((cvs-start (point)))
    (cvs-or
     (funcall parse-spec)

     (dolist (re cvs-parse-ignored-messages)
       (when (cvs-match re) (return t)))

     ;; This is a parse error.  Create a message-type fileinfo.
     (and
      (cvs-match ".*$")
      (cvs-create-fileinfo 'MESSAGE cvs-current-dir " "
			   ;; (concat " Unknown msg: '"
			   (cvs-parse-msg) ;; "'")
			   :subtype 'ERROR)))))

Looks like this problem has been fixed in the GNU Emacs version of PCL-CVS but
not in the XEmacs version.

Applying the same fix to the XEmacs version of PCL-CVS makes the output
of 'M-x cvs-status' identical.
Comment 5 August Hörandl 2006-06-28 17:38:46 UTC
comment #3 
> That's not true, apart from the string "Parser Error:", 
> the output seems to be perfectly OK.

but the output should look like this
http://www.lis.dp.ua/ilya/screenshots/gkrellShoot_04-09-02_111912.jpg

or was this changed with newer emacs/xemacs? the info file still says
in chapter 4 (Buffer contents):
The display contains six columns, some of which are optional.  They
contain, from left to right: ...



Comment 6 Mike Fabian 2006-06-29 09:56:34 UTC
Created attachment 92084 [details]
gkrellShoot_04-09-02_111912.jpg

I added your screen shot here as well.
Comment 7 Mike Fabian 2006-06-29 10:00:08 UTC
Yes, I remember as well that 'M-x cvs-status' used to behave like that
*long* ago. Apparently this broke in newer versions of PCL-CVS which
are now used both by GNU Emacs and XEmacs.

As PCL-CVS is apparently unmaintained, this is probably difficult to fix.

Comment 8 Mike Fabian 2006-06-29 10:06:25 UTC
Created attachment 92085 [details]
bugzilla-129874-do-not-output-useless-error-messages-when-using-cvs-status.patch

Patch to make 'M-x cvs-status' on XEmacs behave the same as on
recent GNU Emacs.
Comment 9 Mike Fabian 2006-06-29 10:17:24 UTC
xemacs-packages updated to sumo-2006-05-10 submitted to STABLE, i.e. the 
next version of SUSE Linux.

The code of PCL-CVS was still unchanged in the updated Sumo and
therefore I applied the patch from comment #8 as a workaround for the
moment.
Comment 10 Mike Fabian 2006-06-29 10:46:59 UTC
August Hörandl> the info file still says in chapter 4 (Buffer
August Hörandl> contents): The display contains six columns, some of
August Hörandl> which are optional.  They contain, from left to right:
August Hörandl> ...

That describes the buffer contents after the 'M-x cvs-examine' command
*not* after the 'M-x cvs-status' command!

Comment 11 Mike Fabian 2006-06-29 10:48:20 UTC
Mike> Yes, I remember as well that 'M-x cvs-status' used to behave
Mike> like that *long* ago. Apparently this broke in newer versions of
Mike> PCL-CVS which are now used both by GNU Emacs and XEmacs.

As 'M-x cvs-examine' works like that now, this change is probably
intentional.

Comment 12 Mike Fabian 2006-06-29 11:05:13 UTC
As cvs-examine works fine, I think there is no serious problem left now.

The only minor bug I can still see is:

After 'M-x cvs-examine' move the cursor on a file and press 's' (for
'status'). The 'cvs status' output is correctly shown in a new buffer
but the contents of the buffer where cvs-examine was called are
destroyed as well.

This should probably not happen, the cvs-examine buffer should
stay intact just as it does when pressing 'l' for 'log' or '='
vor 'diff'.

Comment 13 Mike Fabian 2006-06-29 11:09:40 UTC
PCL-CVS in GNU Emacs has the same bug with 's' in the buffer
where 'M-x cvs-examine' was called.
Comment 14 Mike Fabian 2006-06-29 13:25:26 UTC
xemacs-packages updated to sumo-2006-05-10 and including the patch
from comment #8 for SUSE Linux 10.1 and 10.0 are now also in

ftp://ftp.suse.com/pub/projects/m17n/10.0/RPMS
ftp://ftp.suse.com/pub/projects/m17n/10.1/RPMS
Comment 15 Mike Fabian 2006-06-29 13:27:43 UTC
Closing as FIXED.
Comment 16 August Hörandl 2006-07-02 21:08:32 UTC
just for the records:
on suse 9.2 cvs-status worked the "old way", with 10.0 it works the new way, but produces an error - but both say "PCL-CVS release v2_9_9". is there any way for a user to know that the behavior changed. at least the version number should change.
Comment 17 Mike Fabian 2006-07-03 15:32:59 UTC
August Hörandl> on suse 9.2 cvs-status worked the "old way", with 10.0
August Hörandl> it works the new way, but produces an error - but both
August Hörandl> say "PCL-CVS release v2_9_9". is there any way for a
August Hörandl> user to know that the behavior changed. at least the
August Hörandl> version number should change.

Of course it would be nice if the version number changed.

But, as I already wrote above in comment #7, there seems to be no
maintained upstream version of PCL-CVS anymore. 

A little bit of development seems to have continued
in the versions of PCL-CVS distributed with XEmacs and GNU Emacs.
The version in GNU Emacs appears to be somewhat newer than the
version in XEmacs. Probably the XEmacs developer try
to sync their version with the GNU Emacs version from time to time.
The version of PCL-CVS in GNU Emacs doesn't seem to have a
version number at all.

Anyway, both versions currently behave the same way when
'M-x cvs-status' is called, i.e. it is probably intended to behave
that way.


Comment 18 Mike Fabian 2006-07-05 14:01:14 UTC
reported upstream.