aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog5
-rw-r--r--lisp/cedet/semantic/senator.el20
-rw-r--r--lisp/register.el13
3 files changed, 18 insertions, 20 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 876e48db9fd..6dac08e6c56 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
12009-11-15 Chong Yidong <cyd@stupidchicken.com>
2
3 * register.el (jump-to-register, insert-register): Handle Semantic
4 tags. From commented-out advice in semantic/senator.el.
5
12009-11-15 Dan Nicolaescu <dann@ics.uci.edu> 62009-11-15 Dan Nicolaescu <dann@ics.uci.edu>
2 7
3 * vc.el (vc-log-show-limit): New variable. 8 * vc.el (vc-log-show-limit): New variable.
diff --git a/lisp/cedet/semantic/senator.el b/lisp/cedet/semantic/senator.el
index 522b655c208..d9dda249957 100644
--- a/lisp/cedet/semantic/senator.el
+++ b/lisp/cedet/semantic/senator.el
@@ -857,26 +857,6 @@ Use a senator search function when semantic isearch mode is enabled."
857;; [(control ?,)] 857;; [(control ?,)]
858;; 'senator-isearch-toggle-semantic-mode) 858;; 'senator-isearch-toggle-semantic-mode)
859 859
860;; (defadvice insert-register (around senator activate)
861;; "Insert contents of register REGISTER as a tag.
862;; If senator is not active, use the original mechanism."
863;; (let ((val (get-register (ad-get-arg 0))))
864;; (if (and senator-minor-mode (interactive-p)
865;; (semantic-foreign-tag-p val))
866;; (semantic-insert-foreign-tag val)
867;; ad-do-it)))
868
869;; (defadvice jump-to-register (around senator activate)
870;; "Insert contents of register REGISTER as a tag.
871;; If senator is not active, use the original mechanism."
872;; (let ((val (get-register (ad-get-arg 0))))
873;; (if (and senator-minor-mode (interactive-p)
874;; (semantic-foreign-tag-p val))
875;; (progn
876;; (switch-to-buffer (semantic-tag-buffer val))
877;; (goto-char (semantic-tag-start val)))
878;; ad-do-it)))
879
880(provide 'semantic/senator) 860(provide 'semantic/senator)
881 861
882;; Local variables: 862;; Local variables:
diff --git a/lisp/register.el b/lisp/register.el
index 4144bba7d0b..2800fd96ee3 100644
--- a/lisp/register.el
+++ b/lisp/register.el
@@ -28,6 +28,10 @@
28;; pieces of buffer state to named variables. The entry points are 28;; pieces of buffer state to named variables. The entry points are
29;; documented in the Emacs user's manual. 29;; documented in the Emacs user's manual.
30 30
31(declare-function semantic-insert-foreign-tag "semantic/tag" (foreign-tag))
32(declare-function semantic-tag-buffer "semantic/tag" (tag))
33(declare-function semantic-tag-start "semantic/tag" (tag))
34
31;;; Global key bindings 35;;; Global key bindings
32 36
33(define-key ctl-x-r-map "\C-@" 'point-to-register) 37(define-key ctl-x-r-map "\C-@" 'point-to-register)
@@ -135,6 +139,11 @@ delete any existing frames that the frame configuration doesn't mention.
135 (error "Register access aborted")) 139 (error "Register access aborted"))
136 (find-file (nth 1 val)) 140 (find-file (nth 1 val))
137 (goto-char (nth 2 val))) 141 (goto-char (nth 2 val)))
142 ((and (fboundp 'semantic-foreign-tag-p)
143 semantic-mode
144 (semantic-foreign-tag-p val))
145 (switch-to-buffer (semantic-tag-buffer val))
146 (goto-char (semantic-tag-start val)))
138 (t 147 (t
139 (error "Register doesn't contain a buffer position or configuration"))))) 148 (error "Register doesn't contain a buffer position or configuration")))))
140 149
@@ -284,6 +293,10 @@ Interactively, second arg is non-nil if prefix arg is supplied."
284 (princ val (current-buffer))) 293 (princ val (current-buffer)))
285 ((and (markerp val) (marker-position val)) 294 ((and (markerp val) (marker-position val))
286 (princ (marker-position val) (current-buffer))) 295 (princ (marker-position val) (current-buffer)))
296 ((and (fboundp 'semantic-foreign-tag-p)
297 semantic-mode
298 (semantic-foreign-tag-p val))
299 (semantic-insert-foreign-tag val))
287 (t 300 (t
288 (error "Register does not contain text")))) 301 (error "Register does not contain text"))))
289 (if (not arg) (exchange-point-and-mark))) 302 (if (not arg) (exchange-point-and-mark)))