diff options
| author | Lars Ingebrigtsen <larsi@gnus.org> | 2019-06-14 16:51:27 +0200 |
|---|---|---|
| committer | Lars Ingebrigtsen <larsi@gnus.org> | 2019-06-14 16:51:27 +0200 |
| commit | 18c83aedd91023a677153abeafe561eddb430146 (patch) | |
| tree | 5c0834a9d18cc220f103d01ac8a0a0d5e22ab896 | |
| parent | 68b8980eee5683128035800d6a04c27c764fcc5f (diff) | |
| download | emacs-18c83aedd91023a677153abeafe561eddb430146.tar.gz | |
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.
| -rw-r--r-- | lisp/calendar/cal-bahai.el | 3 | ||||
| -rw-r--r-- | lisp/cedet/semantic/senator.el | 24 |
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." 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 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." (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)))))) |
