comparison lisp/speedbar.el @ 59751:57b41981928e

Avoid unnecessary use of locate-library.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 28 Jan 2005 02:20:38 +0000
parents feb47c14dfa5
children aac0a33f5772 f8a7a9ba3d08
comparison
equal deleted inserted replaced
59750:06038cdb686a 59751:57b41981928e
1 ;;; speedbar.el --- quick access to files and tags in a frame 1 ;;; speedbar.el --- quick access to files and tags in a frame
2 2
3 ;;; Copyright (C) 1996, 97, 98, 99, 2000, 01 Free Software Foundation 3 ;; Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2005
4 ;; Free Software Foundation
4 5
5 ;; Author: Eric M. Ludlam <zappo@gnu.org> 6 ;; Author: Eric M. Ludlam <zappo@gnu.org>
6 ;; Version: 0.11a 7 ;; Version: 0.11a
7 ;; Keywords: file, tags, tools 8 ;; Keywords: file, tags, tools
8 9
168 169
169 ;;; TODO: 170 ;;; TODO:
170 ;; - More functions to create buttons and options 171 ;; - More functions to create buttons and options
171 ;; - Timeout directories we haven't visited in a while. 172 ;; - Timeout directories we haven't visited in a while.
172 173
174 ;;; Code:
175
173 (require 'assoc) 176 (require 'assoc)
174 (require 'easymenu) 177 (require 'easymenu)
175 178
176 (condition-case nil 179 (condition-case nil
177 (require 'image) 180 (require 'image)
199 (defgroup speedbar-vc nil 202 (defgroup speedbar-vc nil
200 "Version control display in speedbar." 203 "Version control display in speedbar."
201 :prefix "speedbar-" 204 :prefix "speedbar-"
202 :group 'speedbar) 205 :group 'speedbar)
203 206
204 ;;; Code:
205 (defvar speedbar-initial-expansion-mode-alist 207 (defvar speedbar-initial-expansion-mode-alist
206 '(("buffers" speedbar-buffer-easymenu-definition speedbar-buffers-key-map 208 '(("buffers" speedbar-buffer-easymenu-definition speedbar-buffers-key-map
207 speedbar-buffer-buttons) 209 speedbar-buffer-buttons)
208 ("quick buffers" speedbar-buffer-easymenu-definition speedbar-buffers-key-map 210 ("quick buffers" speedbar-buffer-easymenu-definition speedbar-buffers-key-map
209 speedbar-buffer-buttons-temp) 211 speedbar-buffer-buttons-temp)
371 :group 'speedbar 373 :group 'speedbar
372 :type '(repeat (group :inline t 374 :type '(repeat (group :inline t
373 (symbol :tag "Property") 375 (symbol :tag "Property")
374 (sexp :tag "Value")))) 376 (sexp :tag "Value"))))
375 377
376 (defcustom speedbar-use-imenu-flag (stringp (locate-library "imenu")) 378 (defcustom speedbar-use-imenu-flag (fboundp 'imenu)
377 "*Non-nil means use imenu for file parsing. nil to use etags. 379 "*Non-nil means use imenu for file parsing. nil to use etags.
378 XEmacs prior to 20.4 doesn't support imenu, therefore the default is to 380 XEmacs prior to 20.4 doesn't support imenu, therefore the default is to
379 use etags instead. Etags support is not as robust as imenu support." 381 use etags instead. Etags support is not as robust as imenu support."
380 :tag "Use Imenu for tags" 382 :tag "Use Imenu for tags"
381 :group 'speedbar 383 :group 'speedbar
3747 ;; 3749 ;;
3748 (if (not speedbar-use-imenu-flag) 3750 (if (not speedbar-use-imenu-flag)
3749 3751
3750 nil 3752 nil
3751 3753
3752 (eval-when-compile (if (locate-library "imenu") (require 'imenu))) 3754 (eval-when-compile (condition-case nil (require 'imenu) (error nil)))
3753 3755
3754 (defun speedbar-fetch-dynamic-imenu (file) 3756 (defun speedbar-fetch-dynamic-imenu (file)
3755 "Load FILE into a buffer, and generate tags using Imenu. 3757 "Load FILE into a buffer, and generate tags using Imenu.
3756 Returns the tag list, or t for an error." 3758 Returns the tag list, or t for an error."
3757 ;; Load this AND compile it in 3759 ;; Load this AND compile it in
4357 (provide 'speedbar) 4359 (provide 'speedbar)
4358 4360
4359 ;; run load-time hooks 4361 ;; run load-time hooks
4360 (run-hooks 'speedbar-load-hook) 4362 (run-hooks 'speedbar-load-hook)
4361 4363
4362 ;;; arch-tag: 4477e6d1-f78c-48b9-a503-387d3c9767d5 4364 ;; arch-tag: 4477e6d1-f78c-48b9-a503-387d3c9767d5
4363 ;;; speedbar.el ends here 4365 ;;; speedbar.el ends here