]> git.eshelyaron.com Git - emacs.git/commit
CEDET: Remove left-over uses of obsolete <class>-child-p predicates
authorStefan Monnier <monnier@iro.umontreal.ca>
Tue, 2 Aug 2022 14:22:00 +0000 (10:22 -0400)
committerStefan Monnier <monnier@iro.umontreal.ca>
Tue, 2 Aug 2022 17:06:51 +0000 (13:06 -0400)
commit344b48f490416cb1200e19b28d356e7fb5b04387
treef3bb79289f9224b6a06bbdd836e48454b6d4c979
parent2be7ed257b06539ad3a6180d8c9e57f475455ec8
CEDET: Remove left-over uses of obsolete <class>-child-p predicates

Those predicates were still sometimes used in a few places, notably via
`:type ... <class>-child` which was never technically correct.

* lisp/cedet/ede/config.el (ede-extra-config, ede-project-with-config):
* lisp/cedet/ede/base.el (ede-project-placeholder): Avoid pseudo-type
`<class>-child`.

* lisp/cedet/semantic/complete.el (semantic-displayer-focus-abstract):
Move before use of `cl-typep` on it.
(semantic-complete-current-match):
* lisp/cedet/ede/speedbar.el (ede-speedbar-menu): Use `cl-typep`
instead of `<class>-child-p`.

* lisp/cedet/semantic/db.el (semanticdb-get-buffer):
Use `cl-defgeneric` for the main/default definition.
(semantic-tag-parent-buffer): Add method.

* lisp/cedet/semantic/tag-file.el (semantic-tag-parent-buffer):
New generic function extracted from `semantic-go-to-tag`.
This allows us to keep the semanticdb-table part in semantic/db and
thus break a cyclic dependency.
(semantic-go-to-tag): Use it.
Demote to a plain `defun` since it's not overloaded anywhere.

* lisp/cedet/semantic/util.el (semanticdb-abstract-table-child-p):
Remove unused declaration.

* lisp/cedet/srecode/compile.el (srecode-template-inserter-newline-child-p):
Remove unused declaration.
(srecord-compile-inserter-newline-p): New generic function, so we can
move the `srecode-template-inserter-newline` case to `srecode/insert.el`,
to avoid a cyclic dependency.

* lisp/cedet/srecode/insert.el (srecord-compile-inserter-newline-p):
New method.
lisp/cedet/ede/base.el
lisp/cedet/ede/config.el
lisp/cedet/ede/speedbar.el
lisp/cedet/semantic/complete.el
lisp/cedet/semantic/db-typecache.el
lisp/cedet/semantic/db.el
lisp/cedet/semantic/tag-file.el
lisp/cedet/semantic/util.el
lisp/cedet/srecode/compile.el
lisp/cedet/srecode/insert.el