aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorStefan Monnier2013-09-17 11:50:33 -0400
committerStefan Monnier2013-09-17 11:50:33 -0400
commit049c405a90db540f0de2e56cc965a43e1eaebcd9 (patch)
tree100e026562201994b00e31e30edfca308dfa29e9 /lisp
parente8b66a6a262b12405e2f29f3693a1f2d57061e2b (diff)
downloademacs-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')
-rw-r--r--lisp/cedet/ChangeLog13
-rw-r--r--lisp/cedet/semantic/symref/list.el83
-rw-r--r--lisp/cedet/srecode/srt-mode.el1
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 @@
12013-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
12013-09-13 Glenn Morris <rgm@gnu.org> 142013-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.
48Display the references in `semantic-symref-results-mode'." 48Display 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"))
195RESULTS 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.
219Some useful functions are found in `semantic-format-tag-functions'." 199Some 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) "")