From: Lars Ingebrigtsen Date: Fri, 14 Jun 2019 14:51:27 +0000 (+0200) Subject: Avoid using registerv-make in senator.el X-Git-Tag: emacs-27.0.90~2534 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=18c83aedd91023a677153abeafe561eddb430146;p=emacs.git 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. --- 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))))))