summaryrefslogtreecommitdiff
path: root/lisp/cedet/semantic/db-el.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2015-02-16 02:22:46 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2015-02-16 02:22:46 -0500
commitc4e2be4587ec6d0f1367b1bfe220a71360e25bea (patch)
treeeb33c5650fe7ad152462f577523f115bb94e061c /lisp/cedet/semantic/db-el.el
parent6bf61df8ab359f1371ab2e3e278bc8642d65a985 (diff)
downloademacs-c4e2be4587ec6d0f1367b1bfe220a71360e25bea.tar.gz
* lisp/emacs-lisp/eieio*.el: Align a bit better with CLOS
* lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag): Fix copy&paste error (semanticdb-project-database => sym). Avoid eieio--class-public-a when possible. * lisp/emacs-lisp/eieio-base.el (make-instance): Add a method here rather than on eieio-constructor. * lisp/emacs-lisp/eieio-core.el (eieio--class-print-name): New function. (eieio-class-name): Make it do what the docstring claims. (eieio-defclass-internal): Simplify since `prots' isn't used any more. (eieio--slot-name-index): Simplify accordingly. (eieio-barf-if-slot-unbound): Pass the class object rather than its name to `slot-unbound'. * lisp/emacs-lisp/eieio.el (defclass): Use make-instance rather than eieio-constructor. (set-slot-value): Mark as obsolete. (eieio-object-class-name): Improve call to eieio-class-name. (eieio-slot-descriptor-name, eieio-class-slots): New functions. (object-slots): Use it. Declare obsolete. (eieio-constructor): Merge it with `make-instance'. (initialize-instance): Use `dolist'. (eieio-override-prin1, eieio-edebug-prin1-to-string): Use eieio--class-print-name. * test/automated/eieio-test-methodinvoke.el (make-instance): Add methods here rather than on eieio-constructor.
Diffstat (limited to 'lisp/cedet/semantic/db-el.el')
-rw-r--r--lisp/cedet/semantic/db-el.el8
1 files changed, 5 insertions, 3 deletions
diff --git a/lisp/cedet/semantic/db-el.el b/lisp/cedet/semantic/db-el.el
index e37b65a461e..b20a756f6b7 100644
--- a/lisp/cedet/semantic/db-el.el
+++ b/lisp/cedet/semantic/db-el.el
@@ -223,9 +223,11 @@ TOKTYPE is a hint to the type of tag desired."
(symbol-name sym)
"class"
(semantic-elisp-desymbolify
- ;; FIXME: This only gives the instance slots and ignores the
- ;; class-allocated slots.
- (eieio--class-public-a (find-class 'semanticdb-project-database))) ;; slots ;FIXME: eieio--
+ (let ((class (find-class sym)))
+ (if (fboundp 'eieio-slot-descriptor-name)
+ (mapcar #'eieio-slot-descriptor-name
+ (eieio-class-slots class))
+ (eieio--class-public-a class))))
(semantic-elisp-desymbolify (eieio-class-parents sym)) ;; parents
))
((not toktype)