1
Fork 0
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:
Lars Ingebrigtsen 2019-06-14 16:51:27 +02:00
parent 68b8980eee
commit 18c83aedd9
2 changed files with 19 additions and 8 deletions

View file

@ -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

View file

@ -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))))))