mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
* lisp/cedet: Use cl-generic instead of EIEIO's defgeneric/defmethod
* lisp/cedet/**/*.el: Mechanically replace all calls to defmethod/defgeneric by calls to cl-defmethod/cl-defgeneric. * lisp/cedet/srecode/table.el: * lisp/cedet/srecode/fields.el: * lisp/cedet/srecode/dictionary.el: * lisp/cedet/srecode/compile.el: * lisp/cedet/semantic/debug.el: * lisp/cedet/semantic/db-ref.el: * lisp/cedet/ede/base.el: * lisp/cedet/ede/auto.el: * lisp/cedet/ede.el: Require `cl-generic'.
This commit is contained in:
parent
102a21d689
commit
73b17f7c2b
64 changed files with 836 additions and 812 deletions
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
;;; Code:
|
||||
(require 'eieio)
|
||||
(require 'cl-generic)
|
||||
(require 'eieio-speedbar)
|
||||
(require 'ede/auto)
|
||||
|
||||
|
|
@ -402,7 +403,7 @@ If set to nil, then the cache is not saved."
|
|||
;;
|
||||
;; Mode related methods are in ede.el. These methods are related
|
||||
;; project specific activities not directly tied to a keybinding.
|
||||
(defmethod ede-subproject-relative-path ((proj ede-project) &optional parent-in)
|
||||
(cl-defmethod ede-subproject-relative-path ((proj ede-project) &optional parent-in)
|
||||
"Get a path name for PROJ which is relative to the parent project.
|
||||
If PARENT is specified, then be relative to the PARENT project.
|
||||
Specifying PARENT is useful for sub-sub projects relative to the root project."
|
||||
|
|
@ -412,7 +413,7 @@ Specifying PARENT is useful for sub-sub projects relative to the root project."
|
|||
(file-relative-name dir (file-name-directory (oref parent file)))
|
||||
"")))
|
||||
|
||||
(defmethod ede-subproject-p ((proj ede-project))
|
||||
(cl-defmethod ede-subproject-p ((proj ede-project))
|
||||
"Return non-nil if PROJ is a sub project."
|
||||
;; @TODO - Use this in more places, and also pay attention to
|
||||
;; metasubproject in ede/proj.el
|
||||
|
|
@ -425,26 +426,26 @@ Specifying PARENT is useful for sub-sub projects relative to the root project."
|
|||
;; no need to in most situations because they are either a) simple, or
|
||||
;; b) cosmetic.
|
||||
|
||||
(defmethod ede-name ((this ede-target))
|
||||
(cl-defmethod ede-name ((this ede-target))
|
||||
"Return the name of THIS target."
|
||||
(oref this name))
|
||||
|
||||
(defmethod ede-target-name ((this ede-target))
|
||||
(cl-defmethod ede-target-name ((this ede-target))
|
||||
"Return the name of THIS target, suitable for make or debug style commands."
|
||||
(oref this name))
|
||||
|
||||
(defmethod ede-name ((this ede-project))
|
||||
(cl-defmethod ede-name ((this ede-project))
|
||||
"Return a short-name for THIS project file.
|
||||
Do this by extracting the lowest directory name."
|
||||
(oref this name))
|
||||
|
||||
(defmethod ede-description ((this ede-project))
|
||||
(cl-defmethod ede-description ((this ede-project))
|
||||
"Return a description suitable for the minibuffer about THIS."
|
||||
(format "Project %s: %d subprojects, %d targets."
|
||||
(ede-name this) (length (oref this subproj))
|
||||
(length (oref this targets))))
|
||||
|
||||
(defmethod ede-description ((this ede-target))
|
||||
(cl-defmethod ede-description ((this ede-target))
|
||||
"Return a description suitable for the minibuffer about THIS."
|
||||
(format "Target %s: with %d source files."
|
||||
(ede-name this) (length (oref this source))))
|
||||
|
|
@ -463,11 +464,11 @@ Not all buffers need headers, so return nil if no applicable."
|
|||
(ede-buffer-header-file ede-object (current-buffer))
|
||||
nil))
|
||||
|
||||
(defmethod ede-buffer-header-file ((this ede-project) buffer)
|
||||
(cl-defmethod ede-buffer-header-file ((this ede-project) buffer)
|
||||
"Return nil, projects don't have header files."
|
||||
nil)
|
||||
|
||||
(defmethod ede-buffer-header-file ((this ede-target) buffer)
|
||||
(cl-defmethod ede-buffer-header-file ((this ede-target) buffer)
|
||||
"There are no default header files in EDE.
|
||||
Do a quick check to see if there is a Header tag in this buffer."
|
||||
(with-current-buffer buffer
|
||||
|
|
@ -489,12 +490,12 @@ Some projects may have multiple documentation files, so return a list."
|
|||
(ede-buffer-documentation-files ede-object (current-buffer))
|
||||
nil))
|
||||
|
||||
(defmethod ede-buffer-documentation-files ((this ede-project) buffer)
|
||||
(cl-defmethod ede-buffer-documentation-files ((this ede-project) buffer)
|
||||
"Return all documentation in project THIS based on BUFFER."
|
||||
;; Find the info node.
|
||||
(ede-documentation this))
|
||||
|
||||
(defmethod ede-buffer-documentation-files ((this ede-target) buffer)
|
||||
(cl-defmethod ede-buffer-documentation-files ((this ede-target) buffer)
|
||||
"Check for some documentation files for THIS.
|
||||
Also do a quick check to see if there is a Documentation tag in this BUFFER."
|
||||
(with-current-buffer buffer
|
||||
|
|
@ -505,7 +506,7 @@ Also do a quick check to see if there is a Documentation tag in this BUFFER."
|
|||
(let ((cp (ede-toplevel)))
|
||||
(ede-buffer-documentation-files cp (current-buffer))))))
|
||||
|
||||
(defmethod ede-documentation ((this ede-project))
|
||||
(cl-defmethod ede-documentation ((this ede-project))
|
||||
"Return a list of files that provide documentation.
|
||||
Documentation is not for object THIS, but is provided by THIS for other
|
||||
files in the project."
|
||||
|
|
@ -520,7 +521,7 @@ files in the project."
|
|||
proj (cdr proj)))
|
||||
found))
|
||||
|
||||
(defmethod ede-documentation ((this ede-target))
|
||||
(cl-defmethod ede-documentation ((this ede-target))
|
||||
"Return a list of files that provide documentation.
|
||||
Documentation is not for object THIS, but is provided by THIS for other
|
||||
files in the project."
|
||||
|
|
@ -531,7 +532,7 @@ files in the project."
|
|||
(ede-html-documentation (ede-toplevel))
|
||||
)
|
||||
|
||||
(defmethod ede-html-documentation ((this ede-project))
|
||||
(cl-defmethod ede-html-documentation ((this ede-project))
|
||||
"Return a list of HTML files provided by project THIS."
|
||||
|
||||
)
|
||||
|
|
@ -541,7 +542,7 @@ files in the project."
|
|||
;; These methods are used to determine if a target "wants", or could
|
||||
;; somehow handle a file, or some source type.
|
||||
;;
|
||||
(defmethod ede-want-file-p ((this ede-target) file)
|
||||
(cl-defmethod ede-want-file-p ((this ede-target) file)
|
||||
"Return non-nil if THIS target wants FILE."
|
||||
;; By default, all targets reference the source object, and let it decide.
|
||||
(let ((src (ede-target-sourcecode this)))
|
||||
|
|
@ -549,7 +550,7 @@ files in the project."
|
|||
(setq src (cdr src)))
|
||||
src))
|
||||
|
||||
(defmethod ede-want-file-source-p ((this ede-target) file)
|
||||
(cl-defmethod ede-want-file-source-p ((this ede-target) file)
|
||||
"Return non-nil if THIS target wants FILE."
|
||||
;; By default, all targets reference the source object, and let it decide.
|
||||
(let ((src (ede-target-sourcecode this)))
|
||||
|
|
@ -557,7 +558,7 @@ files in the project."
|
|||
(setq src (cdr src)))
|
||||
src))
|
||||
|
||||
(defmethod ede-target-sourcecode ((this ede-target))
|
||||
(cl-defmethod ede-target-sourcecode ((this ede-target))
|
||||
"Return the sourcecode objects which THIS permits."
|
||||
(let ((sc (oref this sourcetype))
|
||||
(rs nil))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue