Windows Emacs 23.2 Bug
Matthew Fidler <[email protected]> Mon, 15 Nov 2010 09:25:55 -0600
| Newsgroups | gmane.emacs.code-browser |
|---|---|
| Message-ID | <[email protected]> |
All,
When running emacs under windows using the CVS snapshot of ECB, I receive an
error about being unable to modify a read-only object and the methods
section will not load. This came from trying to set text properties on a
(car tag) in ecb-get-tags-for-non-semantic-files. Once I changed this, ECB
worked fine. The function in ecb-speedbar.el is now:
(defun ecb-create-non-semantic-tree (node tag-list)
"Add all tags of TAG-LIST with side-effects as children to NODE. TAG-LIST
is
a list generated by `ecb-get-tags-for-non-semantic-files'. TAG-LIST is of
the
form:
\( \(\"name\" . marker-or-number) <-- one tag at this level
\(\"name\" \(\"name\" . mon) (\"name\" . mon) ) <-- one group of tags
\(\"name\" mon \(\"name\" . mon) ) <-- group w/ a pos. and
tags
Groups can contain tags which are groups again...therefore this function is
called recursive for the elements of a group.
Return NODE."
(let ((new-node nil)
(new-tag nil)
tmp-tag)
(dolist (tag tag-list)
(setq tmp-tag (format "%s" (car tag)))
(set-text-properties 0 (length tmp-tag)
`(face ,ecb-method-non-semantic-face)
tmp-tag)
(typecase tag
(null nil) ;; this would be a separator
(speedbar-generic-list-tag
;; the semantic tag for this tag
(setq new-tag (ecb--semantic-tag (car tag)
(intern (car tag))))
(ecb--semantic--tag-set-overlay new-tag (make-vector 2 (cdr tag)))
(ecb--semantic--tag-put-property new-tag 'ecb-speedbar-tag t)
(ecb-apply-user-filter-to-tags (list new-tag))
(when (not (ecb-tag-forbidden-display-p new-tag))
(tree-node-new tmp-tag
0
new-tag
t
node)))
(speedbar-generic-list-positioned-group
;; the semantic tag for this tag
(setq new-tag (ecb--semantic-tag (car tag)
(intern (car tag))))
(ecb--semantic--tag-set-overlay new-tag
(make-vector 2 (car (cdr tag))))
(ecb--semantic--tag-put-property new-tag 'ecb-speedbar-tag t)
(ecb-apply-user-filter-to-tags (list new-tag))
(when (not (ecb-tag-forbidden-display-p new-tag))
(ecb-create-non-semantic-tree
(setq new-node
(tree-node-new tmp-tag
0
new-tag
nil node))
(cdr (cdr tag)))
(setf (tree-node->expanded new-node)
(member major-mode
ecb-non-semantic-methods-initial-expand))))
(speedbar-generic-list-group
(ecb-create-non-semantic-tree
(setq new-node
(tree-node-new tmp-tag
1
nil nil node))
(cdr tag))
(setf (tree-node->expanded new-node)
(member major-mode
ecb-non-semantic-methods-initial-expand)))
(otherwise
(ecb-error "ecb-create-non-semantic-tree: malformed tag-list!")
)))
node))
------------------------------------------------------------------------------
Centralized Desktop Delivery: Dell and VMware Reference Architecture
Simplifying enterprise desktop deployment and management using
Dell EqualLogic storage and VMware View: A highly scalable, end-to-end
client virtualization framework. Read more!
http://p.sf.net/sfu/dell-eql-dev2dev
_______________________________________________
Ecb-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ecb-list