diff options
| author | Lars Ingebrigtsen | 2019-06-14 16:51:27 +0200 |
|---|---|---|
| committer | Lars Ingebrigtsen | 2019-06-14 16:51:27 +0200 |
| commit | 18c83aedd91023a677153abeafe561eddb430146 (patch) | |
| tree | 5c0834a9d18cc220f103d01ac8a0a0d5e22ab896 /lisp/cedet | |
| parent | 68b8980eee5683128035800d6a04c27c764fcc5f (diff) | |
| download | emacs-18c83aedd91023a677153abeafe561eddb430146.tar.gz emacs-18c83aedd91023a677153abeafe561eddb430146.zip | |
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.
Diffstat (limited to 'lisp/cedet')
| -rw-r--r-- | lisp/cedet/semantic/senator.el | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/lisp/cedet/semantic/senator.el b/lisp/cedet/semantic/senator.el index 2d858dd9851..ebe171a3a7a 100644 --- a/lisp/cedet/semantic/senator.el +++ b/lisp/cedet/semantic/senator.el | |||
| @@ -717,6 +717,22 @@ yanked to." | |||
| 717 | (message "Use C-y to recover the yank the text of %s." | 717 | (message "Use C-y to recover the yank the text of %s." |
| 718 | (semantic-tag-name ft)))))) | 718 | (semantic-tag-name ft)))))) |
| 719 | 719 | ||
| 720 | (cl-defstruct (senator-register | ||
| 721 | (:constructor nil) | ||
| 722 | (:constructor senator-make-register (foreign-tag))) | ||
| 723 | foreign-tag) | ||
| 724 | |||
| 725 | (cl-defmethod register-val-jump-to ((data senator-register) _arg) | ||
| 726 | (let ((ft (senator-register-foreign-tag data))) | ||
| 727 | (switch-to-buffer (semantic-tag-buffer ft)) | ||
| 728 | (goto-char (semantic-tag-start ft)))) | ||
| 729 | |||
| 730 | (cl-defmethod register-val-describe ((data senator-register) _verbose) | ||
| 731 | (cl-prin1-to-string (senator-register-foreign-tag data))) | ||
| 732 | |||
| 733 | (cl-defmethod register-val-insert ((data senator-register)) | ||
| 734 | (semantic-insert-foreign-tag (senator-register-foreign-tag data))) | ||
| 735 | |||
| 720 | ;;;###autoload | 736 | ;;;###autoload |
| 721 | (defun senator-copy-tag-to-register (register &optional kill-flag) | 737 | (defun senator-copy-tag-to-register (register &optional kill-flag) |
| 722 | "Copy the current tag into REGISTER. | 738 | "Copy the current tag into REGISTER. |
| @@ -732,13 +748,7 @@ if available." | |||
| 732 | (semantic-fetch-tags) | 748 | (semantic-fetch-tags) |
| 733 | (let ((ft (semantic-obtain-foreign-tag))) | 749 | (let ((ft (semantic-obtain-foreign-tag))) |
| 734 | (when ft | 750 | (when ft |
| 735 | (set-register | 751 | (set-register register (senator-make-register ft)) |
| 736 | register (registerv-make | ||
| 737 | ft | ||
| 738 | :insert-func #'semantic-insert-foreign-tag | ||
| 739 | :jump-func (lambda (v) | ||
| 740 | (switch-to-buffer (semantic-tag-buffer v)) | ||
| 741 | (goto-char (semantic-tag-start v))))) | ||
| 742 | (if kill-flag | 752 | (if kill-flag |
| 743 | (kill-region (semantic-tag-start ft) | 753 | (kill-region (semantic-tag-start ft) |
| 744 | (semantic-tag-end ft)))))) | 754 | (semantic-tag-end ft)))))) |