aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorLars Ingebrigtsen2019-06-14 16:51:27 +0200
committerLars Ingebrigtsen2019-06-14 16:51:27 +0200
commit18c83aedd91023a677153abeafe561eddb430146 (patch)
tree5c0834a9d18cc220f103d01ac8a0a0d5e22ab896 /lisp
parent68b8980eee5683128035800d6a04c27c764fcc5f (diff)
downloademacs-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')
-rw-r--r--lisp/calendar/cal-bahai.el3
-rw-r--r--lisp/cedet/semantic/senator.el24
2 files changed, 19 insertions, 8 deletions
diff --git a/lisp/calendar/cal-bahai.el b/lisp/calendar/cal-bahai.el
index ec491ec782f..8aa1eed4a5d 100644
--- a/lisp/calendar/cal-bahai.el
+++ b/lisp/calendar/cal-bahai.el
@@ -313,7 +313,8 @@ Prefix argument ARG will make the entry nonmarking."
313 diary-bahai-entry-symbol 313 diary-bahai-entry-symbol
314 'calendar-bahai-from-absolute)) 314 'calendar-bahai-from-absolute))
315 315
316(defvar date) 316(with-suppressed-warnings ((lexical date))
317 (defvar date))
317 318
318;; To be called from diary-list-sexp-entries, where DATE is bound. 319;; To be called from diary-list-sexp-entries, where DATE is bound.
319;;;###diary-autoload 320;;;###diary-autoload
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))))))