help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: ebrowse problems when loading a BROWSE file


From: Alan Mackenzie
Subject: Re: ebrowse problems when loading a BROWSE file
Date: Wed, 12 Jan 2005 21:12:52 +0000
User-agent: tin/1.4.5-20010409 ("One More Nightmare") (UNIX) (Linux/2.0.35 (i686))

jromanus@earthlink.net wrote on 12 Jan 2005 07:20:06 -0800:
> Every time I try to load my BRWOSE file I am getting errors. I have
> already tried "emacs -q --no-site-file" with the same results. Here is
> the output from *Messages* buffer:

> File mode specification error: (wrong-type-argument consp [ebrowse-ts
> [ebrowse-cs "MsgHandler" "mev" 0 nil nil 0 nil] ([ebrowse-ts
> [ebrowse-cs "SerialBroadcaster" "mev" 0 "mevSerialBcast.h" "   class
> SerialBroadcaster :" 1826 "mevSerialBcast.h"] nil ([ebrowse-ms
> .....

UH????  Are we psychic, or something?  I posted a patch for this bug on
the emacs-devel mailing list last night.

Assuming you're on GNU Emacs 21.3, apply the following patch to your
ebrowse.el.  [If you don't know how to apply a patch, or haven't got the
patch program, say so!]

*************************************************************************

*** /usr/src/packages/BUILD/emacs-21.3/lisp/progmodes/ebrowse.orig.el   Wed Jan 
29 08:12:36 2003
--- /home/acm/ebrowse.el        Tue Jan 11 18:47:54 2005
***************
*** 786,801 ****
  
  (defun ebrowse-class-in-tree (class tree)
    "Search for a class with name CLASS in TREE.
! Return the class found, if any.  This function is used during the load
! phase where classes appended to a file replace older class
! information."
    (let ((tclass (ebrowse-ts-class class))
        found)
      (while (and tree (not found))
!       (let ((root (car tree)))
!       (when (string= (ebrowse-qualified-class-name (ebrowse-ts-class root))
                       (ebrowse-qualified-class-name tclass))
!         (setq found root))
        (setq tree (cdr tree))))
      found))
  
--- 786,801 ----
  
  (defun ebrowse-class-in-tree (class tree)
    "Search for a class with name CLASS in TREE.
! If CLASS is found, return the tail of TREE starting at CLASS.  This function
! is used during the load phase where classes appended to a file replace older
! class information."
    (let ((tclass (ebrowse-ts-class class))
        found)
      (while (and tree (not found))
!       (let ((root-ptr tree))
!       (when (string= (ebrowse-qualified-class-name (ebrowse-ts-class (car 
root-ptr)))
                       (ebrowse-qualified-class-name tclass))
!         (setq found root-ptr))
        (setq tree (cdr tree))))
      found))
  
***************
*** 909,918 ****
      (let ((gc-cons-threshold 2000000))
        (while (not (progn (skip-chars-forward " \t\n\r") (eobp)))
        (let* ((root (read (current-buffer)))
!              (old-root (ebrowse-class-in-tree root tree)))
          (ebrowse-show-progress "Reading data" (null tree))
!         (if old-root
!             (setf (car old-root) root)
            (push root tree)))))
      (garbage-collect)
      (list header tree)))
--- 909,918 ----
      (let ((gc-cons-threshold 2000000))
        (while (not (progn (skip-chars-forward " \t\n\r") (eobp)))
        (let* ((root (read (current-buffer)))
!              (old-root-ptr (ebrowse-class-in-tree root tree)))
          (ebrowse-show-progress "Reading data" (null tree))
!         (if old-root-ptr
!             (setcar old-root-ptr root)
            (push root tree)))))
      (garbage-collect)
      (list header tree)))

*************************************************************************

> Piotr

-- 
Alan Mackenzie (Munich, Germany)
Email: aacm@muuc.dee; to decode, wherever there is a repeated letter
(like "aa"), remove half of them (leaving, say, "a").


reply via email to

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