diff options
| author | Stefan Monnier | 2013-09-17 11:50:33 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2013-09-17 11:50:33 -0400 |
| commit | 049c405a90db540f0de2e56cc965a43e1eaebcd9 (patch) | |
| tree | 100e026562201994b00e31e30edfca308dfa29e9 /lisp/cedet | |
| parent | e8b66a6a262b12405e2f29f3693a1f2d57061e2b (diff) | |
| download | emacs-049c405a90db540f0de2e56cc965a43e1eaebcd9.tar.gz emacs-049c405a90db540f0de2e56cc965a43e1eaebcd9.zip | |
* lisp/cedet/semantic/symref/list.el (semantic-symref-results-mode):
Use define-derived-mode.
(semantic-symref-produce-list-on-results): Set up the results here
instead of in semantic-symref-results-mode. Move after
semantic-symref-current-results's defvar now that it refers to that var.
(semantic-symref-auto-expand-results)
(semantic-symref-results-summary-function)
(semantic-symref-results-mode-hook): Remove redundant :group arg.
(semantic-symref, semantic-symref-symbol, semantic-symref-regexp):
Initialize directly in the let.
Diffstat (limited to 'lisp/cedet')
| -rw-r--r-- | lisp/cedet/ChangeLog | 13 | ||||
| -rw-r--r-- | lisp/cedet/semantic/symref/list.el | 83 | ||||
| -rw-r--r-- | lisp/cedet/srecode/srt-mode.el | 1 |
3 files changed, 45 insertions, 52 deletions
diff --git a/lisp/cedet/ChangeLog b/lisp/cedet/ChangeLog index c4991be2e11..74a4591862a 100644 --- a/lisp/cedet/ChangeLog +++ b/lisp/cedet/ChangeLog | |||
| @@ -1,3 +1,16 @@ | |||
| 1 | 2013-09-17 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * semantic/symref/list.el (semantic-symref-results-mode): | ||
| 4 | Use define-derived-mode. | ||
| 5 | (semantic-symref-produce-list-on-results): Set up the results here | ||
| 6 | instead of in semantic-symref-results-mode. Move after | ||
| 7 | semantic-symref-current-results's defvar now that it refers to that var. | ||
| 8 | (semantic-symref-auto-expand-results) | ||
| 9 | (semantic-symref-results-summary-function) | ||
| 10 | (semantic-symref-results-mode-hook): Remove redundant :group arg. | ||
| 11 | (semantic-symref, semantic-symref-symbol, semantic-symref-regexp): | ||
| 12 | Initialize directly in the let. | ||
| 13 | |||
| 1 | 2013-09-13 Glenn Morris <rgm@gnu.org> | 14 | 2013-09-13 Glenn Morris <rgm@gnu.org> |
| 2 | 15 | ||
| 3 | * semantic/ia.el (semantic-ia-complete-symbol-menu): | 16 | * semantic/ia.el (semantic-ia-complete-symbol-menu): |
diff --git a/lisp/cedet/semantic/symref/list.el b/lisp/cedet/semantic/symref/list.el index c1f0a092afc..af8e18f8c55 100644 --- a/lisp/cedet/semantic/symref/list.el +++ b/lisp/cedet/semantic/symref/list.el | |||
| @@ -48,18 +48,18 @@ they are used in. | |||
| 48 | Display the references in `semantic-symref-results-mode'." | 48 | Display the references in `semantic-symref-results-mode'." |
| 49 | (interactive) | 49 | (interactive) |
| 50 | (semantic-fetch-tags) | 50 | (semantic-fetch-tags) |
| 51 | (let ((ct (semantic-current-tag)) | 51 | (let ((ct (semantic-current-tag))) |
| 52 | (res nil) | ||
| 53 | ) | ||
| 54 | ;; Must have a tag... | 52 | ;; Must have a tag... |
| 55 | (when (not ct) (error "Place cursor inside tag to be searched for")) | 53 | (when (not ct) (error "Place cursor inside tag to be searched for")) |
| 56 | ;; Check w/ user. | 54 | ;; Check w/ user. |
| 57 | (when (not (y-or-n-p (format "Find references for %s? " (semantic-tag-name ct)))) | 55 | (when (not (y-or-n-p (format "Find references for %s? " |
| 56 | (semantic-tag-name ct)))) | ||
| 58 | (error "Quit")) | 57 | (error "Quit")) |
| 59 | ;; Gather results and tags | 58 | ;; Gather results and tags |
| 60 | (message "Gathering References...") | 59 | (message "Gathering References...") |
| 61 | (setq res (semantic-symref-find-references-by-name (semantic-tag-name ct))) | 60 | (let* ((name (semantic-tag-name ct)) |
| 62 | (semantic-symref-produce-list-on-results res (semantic-tag-name ct)))) | 61 | (res (semantic-symref-find-references-by-name name))) |
| 62 | (semantic-symref-produce-list-on-results res name)))) | ||
| 63 | 63 | ||
| 64 | ;;;###autoload | 64 | ;;;###autoload |
| 65 | (defun semantic-symref-symbol (sym) | 65 | (defun semantic-symref-symbol (sym) |
| @@ -72,11 +72,9 @@ Display the references in `semantic-symref-results-mode'." | |||
| 72 | (interactive (list (semantic-tag-name (semantic-complete-read-tag-project | 72 | (interactive (list (semantic-tag-name (semantic-complete-read-tag-project |
| 73 | "Symrefs for: ")))) | 73 | "Symrefs for: ")))) |
| 74 | (semantic-fetch-tags) | 74 | (semantic-fetch-tags) |
| 75 | (let ((res nil) | 75 | ;; Gather results and tags |
| 76 | ) | 76 | (message "Gathering References...") |
| 77 | ;; Gather results and tags | 77 | (let ((res (semantic-symref-find-references-by-name sym))) |
| 78 | (message "Gathering References...") | ||
| 79 | (setq res (semantic-symref-find-references-by-name sym)) | ||
| 80 | (semantic-symref-produce-list-on-results res sym))) | 78 | (semantic-symref-produce-list-on-results res sym))) |
| 81 | 79 | ||
| 82 | ;;;###autoload | 80 | ;;;###autoload |
| @@ -90,28 +88,11 @@ Display the references in`semantic-symref-results-mode'." | |||
| 90 | (interactive (list (semantic-tag-name (semantic-complete-read-tag-buffer-deep | 88 | (interactive (list (semantic-tag-name (semantic-complete-read-tag-buffer-deep |
| 91 | "Symrefs for: ")))) | 89 | "Symrefs for: ")))) |
| 92 | (semantic-fetch-tags) | 90 | (semantic-fetch-tags) |
| 93 | (let ((res nil) | 91 | (message "Gathering References...") |
| 94 | ) | 92 | ;; Gather results and tags |
| 95 | ;; Gather results and tags | 93 | (let ((res (semantic-symref-find-text sym))) |
| 96 | (message "Gathering References...") | ||
| 97 | (setq res (semantic-symref-find-text sym)) | ||
| 98 | (semantic-symref-produce-list-on-results res sym))) | 94 | (semantic-symref-produce-list-on-results res sym))) |
| 99 | 95 | ||
| 100 | |||
| 101 | (defun semantic-symref-produce-list-on-results (res str) | ||
| 102 | "Produce a symref list mode buffer on the results RES." | ||
| 103 | (when (not res) (error "No references found")) | ||
| 104 | (semantic-symref-result-get-tags res t) | ||
| 105 | (message "Gathering References...done") | ||
| 106 | ;; Build a references buffer. | ||
| 107 | (let ((buff (get-buffer-create | ||
| 108 | (format "*Symref %s" str))) | ||
| 109 | ) | ||
| 110 | (switch-to-buffer-other-window buff) | ||
| 111 | (set-buffer buff) | ||
| 112 | (semantic-symref-results-mode res)) | ||
| 113 | ) | ||
| 114 | |||
| 115 | ;;; RESULTS MODE | 96 | ;;; RESULTS MODE |
| 116 | ;; | 97 | ;; |
| 117 | (defgroup semantic-symref-results-mode nil | 98 | (defgroup semantic-symref-results-mode nil |
| @@ -178,36 +159,35 @@ Display the references in`semantic-symref-results-mode'." | |||
| 178 | 159 | ||
| 179 | (defcustom semantic-symref-auto-expand-results nil | 160 | (defcustom semantic-symref-auto-expand-results nil |
| 180 | "Non-nil to expand symref results on buffer creation." | 161 | "Non-nil to expand symref results on buffer creation." |
| 181 | :group 'semantic-symref-results-mode | ||
| 182 | :type 'boolean) | 162 | :type 'boolean) |
| 183 | 163 | ||
| 184 | (defcustom semantic-symref-results-mode-hook nil | 164 | (defcustom semantic-symref-results-mode-hook nil |
| 185 | "Hook run when `semantic-symref-results-mode' starts." | 165 | "Hook run when `semantic-symref-results-mode' starts." |
| 186 | :group 'semantic-symref-results-mode | ||
| 187 | :type 'hook) | 166 | :type 'hook) |
| 188 | 167 | ||
| 189 | (defvar semantic-symref-current-results nil | 168 | (defvar semantic-symref-current-results nil |
| 190 | "The current results in a results mode buffer.") | 169 | "The current results in a results mode buffer.") |
| 191 | 170 | ||
| 192 | (defun semantic-symref-results-mode (results) | 171 | (defun semantic-symref-produce-list-on-results (res str) |
| 193 | ;; FIXME: Use define-derived-mode. | 172 | "Produce a symref list mode buffer on the results RES." |
| 194 | "Major-mode for displaying Semantic Symbol Reference RESULTS. | 173 | (when (not res) (error "No references found")) |
| 195 | RESULTS is an object of class `semantic-symref-results'." | 174 | (semantic-symref-result-get-tags res t) |
| 196 | (interactive) | 175 | (message "Gathering References...done") |
| 197 | (kill-all-local-variables) | 176 | ;; Build a references buffer. |
| 198 | (setq major-mode 'semantic-symref-results-mode | 177 | (let ((buff (get-buffer-create (format "*Symref %s" str)))) |
| 199 | mode-name "Symref" | 178 | (switch-to-buffer-other-window buff) |
| 200 | ) | 179 | (set-buffer buff) |
| 201 | (use-local-map semantic-symref-results-mode-map) | 180 | (semantic-symref-results-mode) |
| 202 | (set (make-local-variable 'semantic-symref-current-results) | 181 | (set (make-local-variable 'semantic-symref-current-results) res) |
| 203 | results) | 182 | (semantic-symref-results-dump res) |
| 204 | (semantic-symref-results-dump results) | 183 | (goto-char (point-min)))) |
| 205 | (goto-char (point-min)) | 184 | |
| 185 | (define-derived-mode semantic-symref-results-mode nil "Symref" | ||
| 186 | "Major-mode for displaying Semantic Symbol Reference results." | ||
| 206 | (buffer-disable-undo) | 187 | (buffer-disable-undo) |
| 188 | ;; FIXME: Why bother turning off font-lock? | ||
| 207 | (set (make-local-variable 'font-lock-global-modes) nil) | 189 | (set (make-local-variable 'font-lock-global-modes) nil) |
| 208 | (font-lock-mode -1) | 190 | (font-lock-mode -1)) |
| 209 | (run-mode-hooks 'semantic-symref-results-mode-hook) | ||
| 210 | ) | ||
| 211 | 191 | ||
| 212 | (defun semantic-symref-hide-buffer () | 192 | (defun semantic-symref-hide-buffer () |
| 213 | "Hide buffer with semantic-symref results." | 193 | "Hide buffer with semantic-symref results." |
| @@ -215,9 +195,8 @@ RESULTS is an object of class `semantic-symref-results'." | |||
| 215 | (bury-buffer)) | 195 | (bury-buffer)) |
| 216 | 196 | ||
| 217 | (defcustom semantic-symref-results-summary-function 'semantic-format-tag-prototype | 197 | (defcustom semantic-symref-results-summary-function 'semantic-format-tag-prototype |
| 218 | "*Function to use when creating items in Imenu. | 198 | "Function to use when creating items in Imenu. |
| 219 | Some useful functions are found in `semantic-format-tag-functions'." | 199 | Some useful functions are found in `semantic-format-tag-functions'." |
| 220 | :group 'semantic-symref-results-mode | ||
| 221 | :type semantic-format-tag-custom-list) | 200 | :type semantic-format-tag-custom-list) |
| 222 | 201 | ||
| 223 | (defun semantic-symref-results-dump (results) | 202 | (defun semantic-symref-results-dump (results) |
diff --git a/lisp/cedet/srecode/srt-mode.el b/lisp/cedet/srecode/srt-mode.el index 2f43dc3872b..f6730fbd65f 100644 --- a/lisp/cedet/srecode/srt-mode.el +++ b/lisp/cedet/srecode/srt-mode.el | |||
| @@ -188,6 +188,7 @@ we can tell font lock about them.") | |||
| 188 | 188 | ||
| 189 | ;;;###autoload | 189 | ;;;###autoload |
| 190 | (define-derived-mode srecode-template-mode fundamental-mode "SRecode" | 190 | (define-derived-mode srecode-template-mode fundamental-mode "SRecode" |
| 191 | ;; FIXME: Shouldn't it derive from prog-mode? | ||
| 191 | "Major-mode for writing SRecode macros." | 192 | "Major-mode for writing SRecode macros." |
| 192 | (set (make-local-variable 'comment-start) ";;") | 193 | (set (make-local-variable 'comment-start) ";;") |
| 193 | (set (make-local-variable 'comment-end) "") | 194 | (set (make-local-variable 'comment-end) "") |