mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-07 16:10:46 -08:00
Avoid using registerv-make in senator.el
* lisp/cedet/semantic/senator.el (senator-register): New class. (register-val-jump-to, register-val-describe) (register-val-insert): New methods. (senator-copy-tag-to-register): Use this instead of the deprecated registerv-make function.
This commit is contained in:
parent
68b8980eee
commit
18c83aedd9
2 changed files with 19 additions and 8 deletions
|
|
@ -313,7 +313,8 @@ Prefix argument ARG will make the entry nonmarking."
|
|||
diary-bahai-entry-symbol
|
||||
'calendar-bahai-from-absolute))
|
||||
|
||||
(defvar date)
|
||||
(with-suppressed-warnings ((lexical date))
|
||||
(defvar date))
|
||||
|
||||
;; To be called from diary-list-sexp-entries, where DATE is bound.
|
||||
;;;###diary-autoload
|
||||
|
|
|
|||
|
|
@ -717,6 +717,22 @@ yanked to."
|
|||
(message "Use C-y to recover the yank the text of %s."
|
||||
(semantic-tag-name ft))))))
|
||||
|
||||
(cl-defstruct (senator-register
|
||||
(:constructor nil)
|
||||
(:constructor senator-make-register (foreign-tag)))
|
||||
foreign-tag)
|
||||
|
||||
(cl-defmethod register-val-jump-to ((data senator-register) _arg)
|
||||
(let ((ft (senator-register-foreign-tag data)))
|
||||
(switch-to-buffer (semantic-tag-buffer ft))
|
||||
(goto-char (semantic-tag-start ft))))
|
||||
|
||||
(cl-defmethod register-val-describe ((data senator-register) _verbose)
|
||||
(cl-prin1-to-string (senator-register-foreign-tag data)))
|
||||
|
||||
(cl-defmethod register-val-insert ((data senator-register))
|
||||
(semantic-insert-foreign-tag (senator-register-foreign-tag data)))
|
||||
|
||||
;;;###autoload
|
||||
(defun senator-copy-tag-to-register (register &optional kill-flag)
|
||||
"Copy the current tag into REGISTER.
|
||||
|
|
@ -732,13 +748,7 @@ if available."
|
|||
(semantic-fetch-tags)
|
||||
(let ((ft (semantic-obtain-foreign-tag)))
|
||||
(when ft
|
||||
(set-register
|
||||
register (registerv-make
|
||||
ft
|
||||
:insert-func #'semantic-insert-foreign-tag
|
||||
:jump-func (lambda (v)
|
||||
(switch-to-buffer (semantic-tag-buffer v))
|
||||
(goto-char (semantic-tag-start v)))))
|
||||
(set-register register (senator-make-register ft))
|
||||
(if kill-flag
|
||||
(kill-region (semantic-tag-start ft)
|
||||
(semantic-tag-end ft))))))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue