* 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
|
@ -39,6 +39,7 @@
|
|||
|
||||
;; Keep this library independent of SRecode proper.
|
||||
(require 'eieio)
|
||||
(require 'cl-generic)
|
||||
|
||||
;;; Code:
|
||||
(defvar srecode-field-archive nil
|
||||
|
@ -74,7 +75,7 @@ The overlay will crossreference this object.")
|
|||
"An object that gets automatically bound to an overlay.
|
||||
Has virtual :start and :end initializers.")
|
||||
|
||||
(defmethod initialize-instance ((olaid srecode-overlaid) &optional args)
|
||||
(cl-defmethod initialize-instance ((olaid srecode-overlaid) &optional args)
|
||||
"Initialize OLAID, being sure it archived."
|
||||
;; Extract :start and :end from the olaid list.
|
||||
(let ((newargs nil)
|
||||
|
@ -107,11 +108,11 @@ Has virtual :start and :end initializers.")
|
|||
(overlay-put olay 'srecode-init-only t)
|
||||
|
||||
(oset olaid overlay olay)
|
||||
(call-next-method olaid (nreverse newargs))
|
||||
(cl-call-next-method olaid (nreverse newargs))
|
||||
|
||||
))
|
||||
|
||||
(defmethod srecode-overlaid-activate ((olaid srecode-overlaid))
|
||||
(cl-defmethod srecode-overlaid-activate ((olaid srecode-overlaid))
|
||||
"Activate the overlaid area."
|
||||
(let* ((ola (oref olaid overlay))
|
||||
(start (overlay-start ola))
|
||||
|
@ -128,23 +129,23 @@ Has virtual :start and :end initializers.")
|
|||
|
||||
))
|
||||
|
||||
(defmethod srecode-delete ((olaid srecode-overlaid))
|
||||
(cl-defmethod srecode-delete ((olaid srecode-overlaid))
|
||||
"Delete the overlay from OLAID."
|
||||
(delete-overlay (oref olaid overlay))
|
||||
(slot-makeunbound olaid 'overlay)
|
||||
)
|
||||
|
||||
(defmethod srecode-empty-region-p ((olaid srecode-overlaid))
|
||||
(cl-defmethod srecode-empty-region-p ((olaid srecode-overlaid))
|
||||
"Return non-nil if the region covered by OLAID is of length 0."
|
||||
(= 0 (srecode-region-size olaid)))
|
||||
|
||||
(defmethod srecode-region-size ((olaid srecode-overlaid))
|
||||
(cl-defmethod srecode-region-size ((olaid srecode-overlaid))
|
||||
"Return the length of region covered by OLAID."
|
||||
(let ((start (overlay-start (oref olaid overlay)))
|
||||
(end (overlay-end (oref olaid overlay))))
|
||||
(- end start)))
|
||||
|
||||
(defmethod srecode-point-in-region-p ((olaid srecode-overlaid))
|
||||
(cl-defmethod srecode-point-in-region-p ((olaid srecode-overlaid))
|
||||
"Return non-nil if point is in the region of OLAID."
|
||||
(let ((start (overlay-start (oref olaid overlay)))
|
||||
(end (overlay-end (oref olaid overlay))))
|
||||
|
@ -161,7 +162,7 @@ Has virtual :start and :end initializers.")
|
|||
(setq ol (cdr ol)))
|
||||
(car (nreverse ret))))
|
||||
|
||||
(defmethod srecode-overlaid-text ((olaid srecode-overlaid) &optional set-to)
|
||||
(cl-defmethod srecode-overlaid-text ((olaid srecode-overlaid) &optional set-to)
|
||||
"Return the text under OLAID.
|
||||
If SET-TO is a string, then replace the text of OLAID wit SET-TO."
|
||||
(let* ((ol (oref olaid overlay))
|
||||
|
@ -191,7 +192,7 @@ If SET-TO is a string, then replace the text of OLAID wit SET-TO."
|
|||
)
|
||||
"Manage a buffer region in which fields exist.")
|
||||
|
||||
(defmethod initialize-instance ((ir srecode-template-inserted-region)
|
||||
(cl-defmethod initialize-instance ((ir srecode-template-inserted-region)
|
||||
&rest args)
|
||||
"Initialize IR, capturing the active fields, and creating the overlay."
|
||||
;; Fill in the fields
|
||||
|
@ -199,10 +200,10 @@ If SET-TO is a string, then replace the text of OLAID wit SET-TO."
|
|||
(setq srecode-field-archive nil)
|
||||
|
||||
;; Initialize myself first.
|
||||
(call-next-method)
|
||||
(cl-call-next-method)
|
||||
)
|
||||
|
||||
(defmethod srecode-overlaid-activate ((ir srecode-template-inserted-region))
|
||||
(cl-defmethod srecode-overlaid-activate ((ir srecode-template-inserted-region))
|
||||
"Activate the template area for IR."
|
||||
;; Activate all our fields
|
||||
|
||||
|
@ -210,7 +211,7 @@ If SET-TO is a string, then replace the text of OLAID wit SET-TO."
|
|||
(srecode-overlaid-activate F))
|
||||
|
||||
;; Activate our overlay.
|
||||
(call-next-method)
|
||||
(cl-call-next-method)
|
||||
|
||||
;; Position the cursor at the first field
|
||||
(let ((first (car (oref ir fields))))
|
||||
|
@ -223,14 +224,14 @@ If SET-TO is a string, then replace the text of OLAID wit SET-TO."
|
|||
(add-hook 'post-command-hook 'srecode-field-post-command t t)
|
||||
)
|
||||
|
||||
(defmethod srecode-delete ((ir srecode-template-inserted-region))
|
||||
(cl-defmethod srecode-delete ((ir srecode-template-inserted-region))
|
||||
"Call into our base, but also clear out the fields."
|
||||
;; Clear us out of the baseclass.
|
||||
(oset ir active-region nil)
|
||||
;; Clear our fields.
|
||||
(mapc 'srecode-delete (oref ir fields))
|
||||
;; Call to our base
|
||||
(call-next-method)
|
||||
(cl-call-next-method)
|
||||
;; Clear our hook.
|
||||
(remove-hook 'post-command-hook 'srecode-field-post-command t)
|
||||
)
|
||||
|
@ -285,15 +286,15 @@ Try to use this to provide useful completion when available.")
|
|||
km)
|
||||
"Keymap applied to field overlays.")
|
||||
|
||||
(defmethod initialize-instance ((field srecode-field) &optional args)
|
||||
(cl-defmethod initialize-instance ((field srecode-field) &optional args)
|
||||
"Initialize FIELD, being sure it archived."
|
||||
(add-to-list 'srecode-field-archive field t)
|
||||
(call-next-method)
|
||||
(cl-call-next-method)
|
||||
)
|
||||
|
||||
(defmethod srecode-overlaid-activate ((field srecode-field))
|
||||
(cl-defmethod srecode-overlaid-activate ((field srecode-field))
|
||||
"Activate the FIELD area."
|
||||
(call-next-method)
|
||||
(cl-call-next-method)
|
||||
|
||||
(let* ((ol (oref field overlay))
|
||||
(end nil)
|
||||
|
@ -314,13 +315,13 @@ Try to use this to provide useful completion when available.")
|
|||
)
|
||||
)
|
||||
|
||||
(defmethod srecode-delete ((olaid srecode-field))
|
||||
(cl-defmethod srecode-delete ((olaid srecode-field))
|
||||
"Delete our secondary overlay."
|
||||
;; Remove our spare overlay
|
||||
(delete-overlay (oref olaid tail))
|
||||
(slot-makeunbound olaid 'tail)
|
||||
;; Do our baseclass work.
|
||||
(call-next-method)
|
||||
(cl-call-next-method)
|
||||
)
|
||||
|
||||
(defvar srecode-field-replication-max-size 100
|
||||
|
@ -379,7 +380,7 @@ PRE-LEN is used in the after mode for the length of the changed text."
|
|||
(srecode-field-mod-hook ol after start end pre-len))
|
||||
))
|
||||
|
||||
(defmethod srecode-field-goto ((field srecode-field))
|
||||
(cl-defmethod srecode-field-goto ((field srecode-field))
|
||||
"Goto the FIELD."
|
||||
(goto-char (overlay-start (oref field overlay))))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue