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