Thread: [CEDET-devel] senator patch
Brought to you by:
zappo
From: Eric M. L. <er...@si...> - 2003-07-31 18:10:48
|
I've got a patch for senator which removes all references to 'token'. It's all documentation, and symbol name changes a-la all other cases I've done so far. If there are no objects on the new names, I can check it in. Eric --------- (senator-step-at-tag-ids): Renamed, obsolete old. (senator-step-at-start-end-tag-ids): Renamed, obsolete old. (senator-current-tag): renamed (senator-step-at-start-end-p): Use new names (senator-middle-of-tag-p): Renamed (senator-previous-tag-or-parent): Renamed (senator-full-tag-name): Renamed (senator-current-type-context): Use new names (senator-search-tag-name): Renamed (senator-search-forward-raw): use new names (senator-search-backward-raw): use new names (senator-next-tag): renamed (senator-previous-tag): renamed (senator-previous-token): renamed (senator-toggle-read-only): Use new names (senator-toggle-intangible): use new names (senator-set-face): use new names (senator-clear-tag): renamed (senator-prefix-map): use new names (senator-menu-bar): use new names (senator-beginning-of-defun): use new names (senator-end-of-defun): use new names (senator-add-log-tags): renamed (add-log-current-defun): use new names (senator-insert-foreign-tag): renamed. Aliased, made compatible. (insert-register): use new names Index: senator.el =================================================================== RCS file: /cvsroot/cedet/cedet/semantic/senator.el,v retrieving revision 1.74 diff -c -r1.74 senator.el *** senator.el 18 Jul 2003 05:25:12 -0000 1.74 --- senator.el 31 Jul 2003 18:04:11 -0000 *************** *** 30,36 **** ;; This library defines commands and a minor mode to navigate between ;; semantic language tags in the current buffer. ;; ! ;; The commands `senator-next-token' and `senator-previous-token' ;; navigate respectively to the tag after or before the point. The ;; command `senator-jump' directly jumps to a particular semantic ;; symbol. --- 30,36 ---- ;; This library defines commands and a minor mode to navigate between ;; semantic language tags in the current buffer. ;; ! ;; The commands `senator-next-tag' and `senator-previous-tag' ;; navigate respectively to the tag after or before the point. The ;; command `senator-jump' directly jumps to a particular semantic ;; symbol. *************** *** 56,77 **** ;; ;; key binding ;; --- ------- ! ;; C-c , n `senator-next-token' ! ;; C-c , p `senator-previous-token' ;; C-c , j `senator-jump' ;; C-c , i `senator-isearch-toggle-semantic-mode' ;; C-c , TAB `senator-complete-symbol' ;; C-c , SPC `senator-completion-menu-popup' ;; S-mouse-3 `senator-completion-menu-popup' ! ;; C-c , C-y `senator-yank-token' ! ;; C-c , C-w `senator-kill-token' ! ;; C-c , M-w `senator-copy-token' ;; ! ;; You can customize the `senator-step-at-token-ids' to navigate (and ;; search) only between tags of a particular class. (Such as ;; functions and variables.) ;; ! ;; Customize `senator-step-at-start-end-token-ids' to stop at the ;; start and end of the specified tag classes. ;; ;; To have a mode specific customization, do something like this in a --- 56,77 ---- ;; ;; key binding ;; --- ------- ! ;; C-c , n `senator-next-tag' ! ;; C-c , p `senator-previous-tag' ;; C-c , j `senator-jump' ;; C-c , i `senator-isearch-toggle-semantic-mode' ;; C-c , TAB `senator-complete-symbol' ;; C-c , SPC `senator-completion-menu-popup' ;; S-mouse-3 `senator-completion-menu-popup' ! ;; C-c , C-y `senator-yank-tag' ! ;; C-c , C-w `senator-kill-tag' ! ;; C-c , M-w `senator-copy-tag' ;; ! ;; You can customize the `senator-step-at-tag-ids' to navigate (and ;; search) only between tags of a particular class. (Such as ;; functions and variables.) ;; ! ;; Customize `senator-step-at-start-end-tag-ids' to stop at the ;; start and end of the specified tag classes. ;; ;; To have a mode specific customization, do something like this in a *************** *** 79,86 **** ;; ;; (add-hook 'mode-hook ;; (lambda () ! ;; (setq senator-step-at-token-ids '(function variable)) ! ;; (setq senator-step-at-start-end-token-ids '(function)) ;; )) ;; ;; The above example specifies to navigate (and search) only between --- 79,86 ---- ;; ;; (add-hook 'mode-hook ;; (lambda () ! ;; (setq senator-step-at-tag-ids '(function variable)) ! ;; (setq senator-step-at-start-end-tag-ids '(function)) ;; )) ;; ;; The above example specifies to navigate (and search) only between *************** *** 118,124 **** :group 'senator :type 'hook) ! (defcustom senator-step-at-token-ids nil "*List of tag classes where to step. A tag class is a symbol like 'variable, 'function, 'type, or other. If nil navigation steps at any tag found. This is a buffer local --- 118,124 ---- :group 'senator :type 'hook) ! (defcustom senator-step-at-tag-ids nil "*List of tag classes where to step. A tag class is a symbol like 'variable, 'function, 'type, or other. If nil navigation steps at any tag found. This is a buffer local *************** *** 126,134 **** navigation." :group 'senator :type '(repeat (symbol))) ! (make-variable-buffer-local 'senator-step-at-token-ids) ! (defcustom senator-step-at-start-end-token-ids '(function) "*List of tag classes where to step at start and end. A tag class is a symbol like 'variable, 'function, 'type, or other. If nil, navigation only step at beginning of tags. If t, step at --- 126,136 ---- navigation." :group 'senator :type '(repeat (symbol))) ! (make-variable-buffer-local 'senator-step-at-tag-ids) ! (make-obsolete-variable 'semantic-step-at-token-ids ! 'semantic-step-at-tag-ids) ! (defcustom senator-step-at-start-end-tag-ids '(function) "*List of tag classes where to step at start and end. A tag class is a symbol like 'variable, 'function, 'type, or other. If nil, navigation only step at beginning of tags. If t, step at *************** *** 140,146 **** :type '(choice :tag "Identifiers" (repeat :menu-tag "Symbols" (symbol)) (const :tag "All" t))) ! (make-variable-buffer-local 'senator-step-at-start-end-token-ids) (defcustom senator-highlight-found t "*If non-nil highlight tags found. --- 142,150 ---- :type '(choice :tag "Identifiers" (repeat :menu-tag "Symbols" (symbol)) (const :tag "All" t))) ! (make-variable-buffer-local 'senator-step-at-start-end-tag-ids) ! (make-obsolete-variable 'senator-step-at-start-end-token-ids ! 'senator-step-at-start-end-tag-ids) (defcustom senator-highlight-found t "*If non-nil highlight tags found. *************** *** 184,194 **** "Parse the current buffer and return the tags where to navigate." (semantic-bovinate-toplevel t)) ! (defsubst senator-current-token () "Return the current tag in the current buffer. Raise an error is there is no tag here." (or (semantic-current-tag) (error "No semantic tag here"))) (defun senator-momentary-highlight-tag (tag) "Momentary highlight TAG. --- 188,199 ---- "Parse the current buffer and return the tags where to navigate." (semantic-bovinate-toplevel t)) ! (defsubst senator-current-tag () "Return the current tag in the current buffer. Raise an error is there is no tag here." (or (semantic-current-tag) (error "No semantic tag here"))) + (semantic-alias-obsolete 'senator-current-token 'senator-current-tag) (defun senator-momentary-highlight-tag (tag) "Momentary highlight TAG. *************** *** 200,217 **** (defun senator-step-at-start-end-p (tag) "Return non-nil if must step at start and end of TAG." (and tag ! (or (eq senator-step-at-start-end-token-ids t) (memq (semantic-tag-class tag) ! senator-step-at-start-end-token-ids)))) (defun senator-skip-p (tag) "Return non-nil if must skip TAG." (and tag ! senator-step-at-token-ids (not (memq (semantic-tag-class tag) ! senator-step-at-token-ids)))) ! (defun senator-middle-of-token-p (pos tag) "Return non-nil if POS is between start and end of TAG." (and (> pos (semantic-tag-start tag)) (< pos (semantic-tag-end tag)))) --- 205,222 ---- (defun senator-step-at-start-end-p (tag) "Return non-nil if must step at start and end of TAG." (and tag ! (or (eq senator-step-at-start-end-tag-ids t) (memq (semantic-tag-class tag) ! senator-step-at-start-end-tag-ids)))) (defun senator-skip-p (tag) "Return non-nil if must skip TAG." (and tag ! senator-step-at-tag-ids (not (memq (semantic-tag-class tag) ! senator-step-at-tag-ids)))) ! (defun senator-middle-of-tag-p (pos tag) "Return non-nil if POS is between start and end of TAG." (and (> pos (semantic-tag-start tag)) (< pos (semantic-tag-end tag)))) *************** *** 232,243 **** (setq parent nil))) parent))) ! (defun senator-previous-token-or-parent (pos) "Return the tag before POS or one of its parent where to step." (let ((tag (semantic-find-tag-by-overlay-prev pos))) (or (senator-step-at-parent tag) tag))) ! (defun senator-full-token-name (tag parent) "Compose a full name from TAG name and PARENT names. That is append to TAG name PARENT names each one separated by `semantic-type-relation-separator-character'. The PARENT list is in --- 237,248 ---- (setq parent nil))) parent))) ! (defun senator-previous-tag-or-parent (pos) "Return the tag before POS or one of its parent where to step." (let ((tag (semantic-find-tag-by-overlay-prev pos))) (or (senator-step-at-parent tag) tag))) ! (defun senator-full-tag-name (tag parent) "Compose a full name from TAG name and PARENT names. That is append to TAG name PARENT names each one separated by `semantic-type-relation-separator-character'. The PARENT list is in *************** *** 249,254 **** --- 254,261 ---- (semantic-tag-name (car parent))) parent (cdr parent))) (concat (semantic-tag-name tag) name))) + (semantic-alias-obsolete 'senator-full-token-name + 'senator-full-tag-name) (defvar senator-completion-cache nil "The latest full completion list is cached here.") *************** *** 395,401 **** (defun senator-current-type-context () "Return tags in the type context at point or nil if not found." ! (let ((context (semantic-find-tag-by-class 'type (semantic-find-tag-by-overlay)))) (if context (semantic-tag-type-members --- 402,408 ---- (defun senator-current-type-context () "Return tags in the type context at point or nil if not found." ! (let ((context (semantic-find-tags-by-class 'type (semantic-find-tag-by-overlay)))) (if context (semantic-tag-type-members *************** *** 438,444 **** ;;;; Search functions ;;;; ! (defun senator-search-token-name (tag) "Search the TAG name in TAG bounds. Set point to the end of the name, and return point. To get the beginning of the name use (match-beginning 0)." --- 445,451 ---- ;;;; Search functions ;;;; ! (defun senator-search-tag-name (tag) "Search the TAG name in TAG bounds. Set point to the end of the name, and return point. To get the beginning of the name use (match-beginning 0)." *************** *** 475,481 **** (if (= sstart send) (setq found t) (if tag ! (setq tend (senator-search-token-name tag) tstart (match-beginning 0) found (and (>= sstart tstart) (<= send tend) --- 482,488 ---- (if (= sstart send) (setq found t) (if tag ! (setq tend (senator-search-tag-name tag) tstart (match-beginning 0) found (and (>= sstart tstart) (<= send tend) *************** *** 512,518 **** (if (= sstart send) (setq found t) (if tag ! (setq tend (senator-search-token-name tag) tstart (match-beginning 0) found (and (>= sstart tstart) (<= send tend) --- 519,525 ---- (if (= sstart send) (setq found t) (if tag ! (setq tend (senator-search-tag-name tag) tstart (match-beginning 0) found (and (>= sstart tstart) (<= send tend) *************** *** 535,541 **** ;;;; ;;;###autoload ! (defun senator-next-token () "Navigate to the next Semantic tag. Return the tag or nil if at end of buffer." (interactive) --- 542,548 ---- ;;;; ;;;###autoload ! (defun senator-next-tag () "Navigate to the next Semantic tag. Return the tag or nil if at end of buffer." (interactive) *************** *** 546,552 **** (not (senator-skip-p tag)) (senator-step-at-start-end-p tag) (or (= pos (semantic-tag-start tag)) ! (senator-middle-of-token-p pos tag))) nil (if (setq tag (senator-step-at-parent tag)) nil --- 553,559 ---- (not (senator-skip-p tag)) (senator-step-at-start-end-p tag) (or (= pos (semantic-tag-start tag)) ! (senator-middle-of-tag-p pos tag))) nil (if (setq tag (senator-step-at-parent tag)) nil *************** *** 560,566 **** (working-message "End of buffer")) (cond ((and (senator-step-at-start-end-p tag) (or (= pos (semantic-tag-start tag)) ! (senator-middle-of-token-p pos tag))) (setq where "end") (goto-char (semantic-tag-end tag))) (t --- 567,573 ---- (working-message "End of buffer")) (cond ((and (senator-step-at-start-end-p tag) (or (= pos (semantic-tag-start tag)) ! (senator-middle-of-tag-p pos tag))) (setq where "end") (goto-char (semantic-tag-end tag))) (t *************** *** 572,580 **** (semantic-tag-name tag) where)) tag)) ;;;###autoload ! (defun senator-previous-token () "Navigate to the previous Semantic tag. Return the tag or nil if at beginning of buffer." (interactive) --- 579,588 ---- (semantic-tag-name tag) where)) tag)) + (semantic-alias-obsolete 'senator-next-token 'senator-next-tag) ;;;###autoload ! (defun senator-previous-tag () "Navigate to the previous Semantic tag. Return the tag or nil if at beginning of buffer." (interactive) *************** *** 585,597 **** (not (senator-skip-p tag)) (senator-step-at-start-end-p tag) (or (= pos (semantic-tag-end tag)) ! (senator-middle-of-token-p pos tag))) nil (if (setq tag (senator-step-at-parent tag)) nil ! (setq tag (senator-previous-token-or-parent pos)) (while (and tag (senator-skip-p tag)) ! (setq tag (senator-previous-token-or-parent (semantic-tag-start tag)))))) (if (not tag) (progn --- 593,605 ---- (not (senator-skip-p tag)) (senator-step-at-start-end-p tag) (or (= pos (semantic-tag-end tag)) ! (senator-middle-of-tag-p pos tag))) nil (if (setq tag (senator-step-at-parent tag)) nil ! (setq tag (senator-previous-tag-or-parent pos)) (while (and tag (senator-skip-p tag)) ! (setq tag (senator-previous-tag-or-parent (semantic-tag-start tag)))))) (if (not tag) (progn *************** *** 599,605 **** (working-message "Beginning of buffer")) (cond ((or (not (senator-step-at-start-end-p tag)) (= pos (semantic-tag-end tag)) ! (senator-middle-of-token-p pos tag)) (setq where "start") (goto-char (semantic-tag-start tag))) (t --- 607,613 ---- (working-message "Beginning of buffer")) (cond ((or (not (senator-step-at-start-end-p tag)) (= pos (semantic-tag-end tag)) ! (senator-middle-of-tag-p pos tag)) (setq where "start") (goto-char (semantic-tag-start tag))) (t *************** *** 611,616 **** --- 619,625 ---- (semantic-tag-name tag) where)) tag)) + (semantic-alias-obsolete 'senator-previous-token 'senator-previous-tag) (defvar senator-jump-completion-list nil "`senator-jump' stores here its current completion list. *************** *** 1137,1144 **** (defun senator-toggle-read-only (&optional tag) "Toggle the read-only status of the current TAG." (interactive) ! (let* ((tag (or tag (senator-current-token))) ! (read (semantic-token-read-only-p tag))) (semantic-set-tag-read-only tag read) (semantic-set-tag-face tag --- 1146,1153 ---- (defun senator-toggle-read-only (&optional tag) "Toggle the read-only status of the current TAG." (interactive) ! (let* ((tag (or tag (senator-current-tag))) ! (read (semantic-tag-read-only-p tag))) (semantic-set-tag-read-only tag read) (semantic-set-tag-face tag *************** *** 1147,1153 **** (defun senator-toggle-intangible (&optional tag) "Toggle the tangibility of the current TAG." (interactive) ! (let* ((tag (or tag (senator-current-token))) (tang (semantic-tag-intangible-p tag))) (semantic-set-tag-intangible tag tang) (semantic-set-tag-face --- 1156,1162 ---- (defun senator-toggle-intangible (&optional tag) "Toggle the tangibility of the current TAG." (interactive) ! (let* ((tag (or tag (senator-current-tag))) (tang (semantic-tag-intangible-p tag))) (semantic-set-tag-intangible tag tang) (semantic-set-tag-face *************** *** 1161,1167 **** "Face: " ;; GNU Emacs already append ": " "Face")))) ! (let ((tag (or tag (senator-current-token)))) (semantic-set-tag-face tag face))) (defun senator-set-foreground (color &optional tag) --- 1170,1176 ---- "Face: " ;; GNU Emacs already append ": " "Face")))) ! (let ((tag (or tag (senator-current-tag)))) (semantic-set-tag-face tag face))) (defun senator-set-foreground (color &optional tag) *************** *** 1182,1194 **** (error "Unknown color: %s" color)) (senator-set-face face))) ! (defun senator-clear-token (&optional tag) "Clear all properties from TAG." (interactive) ! (let ((tag (or tag (senator-current-token)))) (semantic-set-tag-read-only tag t) (semantic-set-tag-intangible tag t) (semantic-set-tag-face tag nil))) ;;;; ;;;; Misc. menu stuff. --- 1191,1204 ---- (error "Unknown color: %s" color)) (senator-set-face face))) ! (defun senator-clear-tag (&optional tag) "Clear all properties from TAG." (interactive) ! (let ((tag (or tag (senator-current-tag)))) (semantic-set-tag-read-only tag t) (semantic-set-tag-intangible tag t) (semantic-set-tag-face tag nil))) + (semantic-alias-obsolete 'senator-clear-token 'senator-clear-tag) ;;;; ;;;; Misc. menu stuff. *************** *** 1566,1578 **** (let ((km (make-sparse-keymap))) (define-key km "i" 'senator-isearch-toggle-semantic-mode) (define-key km "j" 'senator-jump) ! (define-key km "p" 'senator-previous-token) ! (define-key km "n" 'senator-next-token) (define-key km "\t" 'senator-complete-symbol) (define-key km " " 'senator-completion-menu-popup) ! (define-key km "\C-w" 'senator-kill-token) ! (define-key km "\M-w" 'senator-copy-token) ! (define-key km "\C-y" 'senator-yank-token) km) "Default key bindings in senator minor mode.") --- 1576,1588 ---- (let ((km (make-sparse-keymap))) (define-key km "i" 'senator-isearch-toggle-semantic-mode) (define-key km "j" 'senator-jump) ! (define-key km "p" 'senator-previous-tag) ! (define-key km "n" 'senator-next-tag) (define-key km "\t" 'senator-complete-symbol) (define-key km " " 'senator-completion-menu-popup) ! (define-key km "\C-w" 'senator-kill-tag) ! (define-key km "\M-w" 'senator-copy-tag) ! (define-key km "\C-y" 'senator-yank-tag) km) "Default key bindings in senator minor mode.") *************** *** 1583,1589 **** "Navigate" (senator-menu-item ["Next" ! senator-next-token :active t :help "Go to the next tag found" ]) --- 1593,1599 ---- "Navigate" (senator-menu-item ["Next" ! senator-next-tag :active t :help "Go to the next tag found" ]) *************** *** 1714,1720 **** ]) (senator-menu-item [ "Remove all properties" ! senator-clear-token :active (semantic-current-tag) :help "Remove all special face properties on the current tag " ] ) --- 1724,1730 ---- ]) (senator-menu-item [ "Remove all properties" ! senator-clear-tag :active (semantic-current-tag) :help "Remove all special face properties on the current tag " ] ) *************** *** 1723,1747 **** "Tag Copy/Paste" (senator-menu-item [ "Copy Tag" ! senator-copy-token :active (semantic-current-tag) :help "Copy the current tag to the tag ring" ]) (senator-menu-item [ "Kill Tag" ! senator-kill-token :active (semantic-current-tag) :help "Kill tag text to the kill ring, and copy the tag to the tag ring" ]) (senator-menu-item [ "Yank Tag" ! senator-yank-token ! :active (not (ring-empty-p senator-token-ring)) :help "Yank a tag from the tag ring, inserting a summary/prototype" ]) (senator-menu-item [ "Copy Tag to Register" ! senator-copy-token-to-register :active (semantic-current-tag) :help "Copy the current tag to a register" ]) --- 1733,1757 ---- "Tag Copy/Paste" (senator-menu-item [ "Copy Tag" ! senator-copy-tag :active (semantic-current-tag) :help "Copy the current tag to the tag ring" ]) (senator-menu-item [ "Kill Tag" ! senator-kill-tag :active (semantic-current-tag) :help "Kill tag text to the kill ring, and copy the tag to the tag ring" ]) (senator-menu-item [ "Yank Tag" ! senator-yank-tag ! :active (not (ring-empty-p senator-tag-ring)) :help "Yank a tag from the tag ring, inserting a summary/prototype" ]) (senator-menu-item [ "Copy Tag to Register" ! senator-copy-tag-to-register :active (semantic-current-tag) :help "Copy the current tag to a register" ]) *************** *** 1778,1790 **** "Chart" (senator-menu-item [ "Chart Tags by Class" ! semantic-chart-nonterminals-by-token :active t :help "Catagorize all tags by class, and chart the volume for each class" ]) (senator-menu-item [ "Chart Tags by Complexity" ! semantic-chart-nonterminal-complexity-token :active t :help "Choose the most complex tags, and chart them by complexity" ]) --- 1788,1800 ---- "Chart" (senator-menu-item [ "Chart Tags by Class" ! semantic-chart-nonterminals-by-tag :active t :help "Catagorize all tags by class, and chart the volume for each class" ]) (senator-menu-item [ "Chart Tags by Complexity" ! semantic-chart-nonterminal-complexity-tag :active t :help "Choose the most complex tags, and chart them by complexity" ]) *************** *** 1818,1858 **** (senator-menu-item [ "Increasing by name" (setq semantic-imenu-sort-bucket-function ! 'semantic-sort-tokens-by-name-increasing) :active t :style radio :selected (eq semantic-imenu-sort-bucket-function ! 'semantic-sort-tokens-by-name-increasing) :help "Sort tags by name increasing" ]) (senator-menu-item [ "Decreasing by name" (setq semantic-imenu-sort-bucket-function ! 'semantic-sort-tokens-by-name-decreasing) :active t :style radio :selected (eq semantic-imenu-sort-bucket-function ! 'semantic-sort-tokens-by-name-decreasing) :help "Sort tags by name decreasing" ]) (senator-menu-item [ "Increasing Case Insensitive by Name" (setq semantic-imenu-sort-bucket-function ! 'semantic-sort-tokens-by-name-increasing-ci) :active t :style radio :selected (eq semantic-imenu-sort-bucket-function ! 'semantic-sort-tokens-by-name-increasing-ci) :help "Sort tags by name increasing and case insensitive" ]) (senator-menu-item [ "Decreasing Case Insensitive by Name" (setq semantic-imenu-sort-bucket-function ! 'semantic-sort-tokens-by-name-decreasing-ci) :active t :style radio :selected (eq semantic-imenu-sort-bucket-function ! 'semantic-sort-tokens-by-name-decreasing-ci) :help "Sort tags by name decreasing and case insensitive" ]) ) --- 1828,1868 ---- (senator-menu-item [ "Increasing by name" (setq semantic-imenu-sort-bucket-function ! 'semantic-sort-tags-by-name-increasing) :active t :style radio :selected (eq semantic-imenu-sort-bucket-function ! 'semantic-sort-tags-by-name-increasing) :help "Sort tags by name increasing" ]) (senator-menu-item [ "Decreasing by name" (setq semantic-imenu-sort-bucket-function ! 'semantic-sort-tags-by-name-decreasing) :active t :style radio :selected (eq semantic-imenu-sort-bucket-function ! 'semantic-sort-tags-by-name-decreasing) :help "Sort tags by name decreasing" ]) (senator-menu-item [ "Increasing Case Insensitive by Name" (setq semantic-imenu-sort-bucket-function ! 'semantic-sort-tags-by-name-increasing-ci) :active t :style radio :selected (eq semantic-imenu-sort-bucket-function ! 'semantic-sort-tags-by-name-increasing-ci) :help "Sort tags by name increasing and case insensitive" ]) (senator-menu-item [ "Decreasing Case Insensitive by Name" (setq semantic-imenu-sort-bucket-function ! 'semantic-sort-tags-by-name-decreasing-ci) :active t :style radio :selected (eq semantic-imenu-sort-bucket-function ! 'semantic-sort-tags-by-name-decreasing-ci) :help "Sort tags by name decreasing and case insensitive" ]) ) *************** *** 2080,2088 **** ARG is the number of tags to navigate (not yet implemented)." (let* ((senator-highlight-found nil) ;; Step at beginning of next tag with class specified in ! ;; `senator-step-at-token-ids'. ! (senator-step-at-start-end-token-ids t) ! (tag (senator-previous-token))) (when tag (if (= (point) (semantic-tag-end tag)) (goto-char (semantic-tag-start tag))) --- 2090,2098 ---- ARG is the number of tags to navigate (not yet implemented)." (let* ((senator-highlight-found nil) ;; Step at beginning of next tag with class specified in ! ;; `senator-step-at-tag-ids'. ! (senator-step-at-start-end-tag-ids t) ! (tag (senator-previous-tag))) (when tag (if (= (point) (semantic-tag-end tag)) (goto-char (semantic-tag-start tag))) *************** *** 2095,2103 **** ARG is the number of tags to navigate (not yet implemented)." (let* ((senator-highlight-found nil) ;; Step at end of next tag with class specified in ! ;; `senator-step-at-token-ids'. ! (senator-step-at-start-end-token-ids t) ! (tag (senator-next-token))) (when tag (if (= (point) (semantic-tag-start tag)) (goto-char (semantic-tag-end tag))) --- 2105,2113 ---- ARG is the number of tags to navigate (not yet implemented)." (let* ((senator-highlight-found nil) ;; Step at end of next tag with class specified in ! ;; `senator-step-at-tag-ids'. ! (senator-step-at-start-end-tag-ids t) ! (tag (senator-next-tag))) (when tag (if (= (point) (semantic-tag-start tag)) (goto-char (semantic-tag-end tag))) *************** *** 2171,2180 **** (senator-mark-defun) ad-do-it)) ! (defvar senator-add-log-tokens '(function variable type) "When advising `add-log-current-defun', tag classes used. Semantic tags that are of these classses will be used to find the name used by add log.") (defadvice add-log-current-defun (around senator activate) "Return name of function definition point is in, or nil." --- 2181,2191 ---- (senator-mark-defun) ad-do-it)) ! (defvar senator-add-log-tags '(function variable type) "When advising `add-log-current-defun', tag classes used. Semantic tags that are of these classses will be used to find the name used by add log.") + (make-obsolete-variable 'senator-add-log-tokens 'senator-add-log-tags) (defadvice add-log-current-defun (around senator activate) "Return name of function definition point is in, or nil." *************** *** 2182,2188 **** (let ((cd (semantic-find-tag-by-overlay)) (name nil)) (while (and cd (not name)) ! (if (member (semantic-tag-class (car cd)) senator-add-log-tokens) (setq name (semantic-tag-name (car cd)))) (setq cd (cdr cd))) (if name --- 2193,2199 ---- (let ((cd (semantic-find-tag-by-overlay)) (name nil)) (while (and cd (not name)) ! (if (member (semantic-tag-class (car cd)) senator-add-log-tags) (setq name (semantic-tag-name (car cd)))) (setq cd (cdr cd))) (if name *************** *** 2199,2212 **** ;; the body of the tag into the kill-ring. ;; ;; To retrieve a killed tag's text, use C-y (yank), but to retrieve ! ;; the tag as a reference of some sort, use senator-yank-token. ! (defvar senator-token-ring (make-ring 20) "Ring of tags for use with cut and paste.") ! (defun senator-insert-foreign-token-default (tag tagfile) "Insert TAG from a foreign buffer into the current buffer. ! This is the default behavior for `senator-insert-foreign-token'. Assumes the current buffer is a language file, and attempts to insert a prototype/function call. Argument TAGFILE is the file from wence TAG came." --- 2210,2223 ---- ;; the body of the tag into the kill-ring. ;; ;; To retrieve a killed tag's text, use C-y (yank), but to retrieve ! ;; the tag as a reference of some sort, use senator-yank-tag. ! (defvar senator-tag-ring (make-ring 20) "Ring of tags for use with cut and paste.") ! (defun senator-insert-foreign-tag-default (tag tagfile) "Insert TAG from a foreign buffer into the current buffer. ! This is the default behavior for `senator-insert-foreign-tag'. Assumes the current buffer is a language file, and attempts to insert a prototype/function call. Argument TAGFILE is the file from wence TAG came." *************** *** 2215,2268 **** ;; tag. (insert (semantic-format-tag-prototype tag))) ! (defun senator-insert-foreign-token (tag tagfile) "Insert TAG from a foreign buffer into the current buffer. TAG will have originated from TAGFILE. ! This function is overridable with the symbol `insert-foreign-token'." (if (or (not tag) (not (semantic-tag-p tag))) (signal 'wrong-type-argument (list tag 'semantic-tag-p))) ! (let ((s (semantic-fetch-overload 'insert-foreign-token))) (if s (funcall s tag tagfile) ! (senator-insert-foreign-token-default tag tagfile)) (message (semantic-format-tag-summarize tag)))) ! (defun senator-copy-token () "Take the current tag, and place it in the tag ring." (interactive) (senator-parse) ! (let ((ct (senator-current-token))) ! (ring-insert senator-token-ring (cons ct (buffer-file-name))) (message (semantic-format-tag-summarize ct)) ct)) ! (defun senator-kill-token () "Take the current tag, place it in the tag ring, and kill it. Killing the tag removes the text for that tag, and places it into the kill ring. Retrieve that text with \\[yank\\]." (interactive) ! (let ((ct (senator-copy-token))) ;; this handles the reparse for us. (kill-region (semantic-tag-start ct) (semantic-tag-end ct)))) ! (defun senator-yank-token () "Yank a tag from the tag ring. The form the tag takes is differnet depending on where it is being yanked to." (interactive) ! (or (ring-empty-p senator-token-ring) ! (let ((tag (ring-ref senator-token-ring 0))) ! (senator-insert-foreign-token (car tag) (cdr tag))))) ! (defun senator-copy-token-to-register (register &optional kill-flag) "Copy the current tag into REGISTER. Optional argument KILL-FLAG will delete the text of the tag to the kill ring." (interactive "cTag to register: \nP") ! (let ((ct (senator-current-token))) (set-register register (cons ct (buffer-file-name))) (if kill-flag (kill-region (semantic-tag-start ct) (semantic-tag-end ct))))) (defadvice insert-register (around senator activate) "Insert contents of register REGISTER as a tag. --- 2226,2286 ---- ;; tag. (insert (semantic-format-tag-prototype tag))) ! (defun senator-insert-foreign-tag (tag tagfile) "Insert TAG from a foreign buffer into the current buffer. TAG will have originated from TAGFILE. ! This function is overridable with the symbol `insert-foreign-tag'." (if (or (not tag) (not (semantic-tag-p tag))) (signal 'wrong-type-argument (list tag 'semantic-tag-p))) ! (let ((s (semantic-fetch-overload 'insert-foreign-tag))) (if s (funcall s tag tagfile) ! (senator-insert-foreign-tag-default tag tagfile)) (message (semantic-format-tag-summarize tag)))) + (semantic-alias-obsolete 'senator-insert-foreign-token + 'senator-insert-foreign-tag) ! (defun senator-copy-tag () "Take the current tag, and place it in the tag ring." (interactive) (senator-parse) ! (let ((ct (senator-current-tag))) ! (ring-insert senator-tag-ring (cons ct (buffer-file-name))) (message (semantic-format-tag-summarize ct)) ct)) + (semantic-alias-obsolete 'senator-copy-token 'senator-copy-tag) ! (defun senator-kill-tag () "Take the current tag, place it in the tag ring, and kill it. Killing the tag removes the text for that tag, and places it into the kill ring. Retrieve that text with \\[yank\\]." (interactive) ! (let ((ct (senator-copy-tag))) ;; this handles the reparse for us. (kill-region (semantic-tag-start ct) (semantic-tag-end ct)))) + (semantic-alias-obsolete 'senator-kill-token 'senator-kill-tag) ! (defun senator-yank-tag () "Yank a tag from the tag ring. The form the tag takes is differnet depending on where it is being yanked to." (interactive) ! (or (ring-empty-p senator-tag-ring) ! (let ((tag (ring-ref senator-tag-ring 0))) ! (senator-insert-foreign-tag (car tag) (cdr tag))))) ! (semantic-alias-obsolete 'senator-yank-token 'senator-yank-tag) ! (defun senator-copy-tag-to-register (register &optional kill-flag) "Copy the current tag into REGISTER. Optional argument KILL-FLAG will delete the text of the tag to the kill ring." (interactive "cTag to register: \nP") ! (let ((ct (senator-current-tag))) (set-register register (cons ct (buffer-file-name))) (if kill-flag (kill-region (semantic-tag-start ct) (semantic-tag-end ct))))) + (semantic-alias-obsolete 'senator-copy-token-to-register + 'senator-copy-tag-to-register) (defadvice insert-register (around senator activate) "Insert contents of register REGISTER as a tag. *************** *** 2270,2276 **** (let ((val (get-register (ad-get-arg 0)))) (if (and senator-minor-mode (interactive-p) (listp val) (semantic-tag-p (car val))) ! (senator-insert-foreign-token (car val) (cdr val)) ad-do-it))) (defadvice jump-to-register (around senator activate) --- 2288,2294 ---- (let ((val (get-register (ad-get-arg 0)))) (if (and senator-minor-mode (interactive-p) (listp val) (semantic-tag-p (car val))) ! (senator-insert-foreign-tag (car val) (cdr val)) ad-do-it))) (defadvice jump-to-register (around senator activate) |
From: Eric M. L. <er...@si...> - 2004-06-10 18:42:06
|
I've made several changes to semantic so that if a file needs parsing when it is loaded into a buffer, the parsing happens after the file is visible. The post visible parsing is handled through the idle scheduler. The benefit is that a script that edits lots of files but doesn't use semantic tag lists can run without slowing down. To finish it off, I've got the following senator patch. Any objections? Eric -------- *** senator.el.~1.97.~ 2004-04-29 22:08:46.000000000 -0400 --- senator.el 2004-06-10 13:40:00.000000000 -0400 *************** *** 1998,2004 **** ;; Parse the current buffer if needed (condition-case nil (progn ! (senator-parse) ;; Add completion hooks (semantic-make-local-hook 'semantic-after-toplevel-cache-change-hook) --- 1998,2004 ---- ;; Parse the current buffer if needed (condition-case nil (progn ! ;;(senator-parse) ;; Add completion hooks (semantic-make-local-hook 'semantic-after-toplevel-cache-change-hook) -- Eric Ludlam: za...@gn..., er...@si... Home: http://www.ludlam.net Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net GNU: www.gnu.org |
From: David P. <dav...@wa...> - 2004-06-10 19:36:01
|
Hi Eric, > I've made several changes to semantic so that if a file needs parsing > when it is loaded into a buffer, the parsing happens after the file is > visible. The post visible parsing is handled through the idle scheduler. > > The benefit is that a script that edits lots of files but doesn't use > semantic tag lists can run without slowing down. That's a nice idea! > To finish it off, I've got the following senator patch. Any > objections? That's fine with me. Normally parsing should happen "on demand" so calling `senator-parse' when enabling `senator-minor-mode' shouldn't be necessary. David |
From: David P. <dav...@wa...> - 2003-07-31 18:52:03
|
> I've got a patch for senator which removes all references to 'token'. Great! > It's all documentation, and symbol name changes a-la all other cases > I've done so far. > > If there are no objects on the new names, I can check it in. That's fine with me. Also, `senator-step-at-token-ids' and `senator-step-at-start-end-token-ids' are used in following files: ./bovine/semantic-c.el:2259: senator-step-at-token-ids '(function variable) ./semantic-texi.el:230: senator-step-at-start-end-token-ids '(section) ./wisent/wisent-c.el:826: senator-step-at-token-ids '(function variable) ./wisent/wisent-java-tags.el:646: senator-step-at-token-ids '(function variable) ./wisent/wisent-java.el:848: senator-step-at-token-ids '(function variable) Finally, it could make sense to rename them `senator-tag-classes-to-step-at' and `senator-tag-classes-to-step-at-bounds'? Thanks! David |
From: Eric M. L. <er...@si...> - 2003-07-31 19:20:56
|
>>> David Ponce <dav...@wa...> seems to think that: >> I've got a patch for senator which removes all references to 'token'. > >Great! > >> It's all documentation, and symbol name changes a-la all other cases >> I've done so far. >> >> If there are no objects on the new names, I can check it in. > >That's fine with me. Also, `senator-step-at-token-ids' and >`senator-step-at-start-end-token-ids' are used in following files: > >./bovine/semantic-c.el:2259: senator-step-at-token-ids '(function variable) >./semantic-texi.el:230: senator-step-at-start-end-token-ids '(section) >./wisent/wisent-c.el:826: senator-step-at-token-ids '(function variable) >./wisent/wisent-java-tags.el:646: senator-step-at-token-ids '(function variable) >./wisent/wisent-java.el:848: senator-step-at-token-ids '(function variable) I do have changes for them also, which I had forgotten to send. >Finally, it could make sense to rename them `senator-tag-classes-to-step-at' >and `senator-tag-classes-to-step-at-bounds'? [ ... ] Good Thinking. I'll do that and check things in. Eric -- Eric Ludlam: za...@gn..., er...@si... Home: http://www.ludlam.net Siege: www.siege-engine.com Emacs: http://cedet.sourceforge.net GNU: www.gnu.org |