summaryrefslogtreecommitdiff
path: root/lisp/speedbar.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/speedbar.el')
-rw-r--r--lisp/speedbar.el58
1 files changed, 23 insertions, 35 deletions
diff --git a/lisp/speedbar.el b/lisp/speedbar.el
index 1b6dc809521..b12cf3d9c2d 100644
--- a/lisp/speedbar.el
+++ b/lisp/speedbar.el
@@ -306,10 +306,9 @@ attached to and added to this list before the new frame is initialized."
(symbol :tag "Parameter")
(sexp :tag "Value"))))
-(defcustom speedbar-use-imenu-flag (fboundp 'imenu)
+(defcustom speedbar-use-imenu-flag t
"Non-nil means use imenu for file parsing, nil to use etags.
-XEmacs prior to 20.4 doesn't support imenu, therefore the default is to
-use etags instead. Etags support is not as robust as imenu support."
+Etags support is not as robust as imenu support." ; See Bug#51102
:tag "Use Imenu for tags"
:group 'speedbar
:type 'boolean)
@@ -800,15 +799,10 @@ This basically creates a sparse keymap, and makes its parent be
["Auto Update" speedbar-toggle-updates
:active (not speedbar-update-flag-disable)
:style toggle :selected speedbar-update-flag])
- (if (and (or (fboundp 'defimage)
- (fboundp 'make-image-specifier))
- (if (fboundp 'display-graphic-p)
- (display-graphic-p)
- window-system))
- (list
- ["Use Images" speedbar-toggle-images
- :style toggle :selected speedbar-use-images]))
- )
+ (when (and (fboundp 'defimage) (display-graphic-p))
+ (list
+ ["Use Images" speedbar-toggle-images
+ :style toggle :selected speedbar-use-images])))
"Base part of the speedbar menu.")
(defvar speedbar-easymenu-definition-special
@@ -938,7 +932,9 @@ supported at a time.
;; hscroll
(setq-local auto-hscroll-mode nil)
;; reset the selection variable
- (setq speedbar-last-selected-file nil))
+ (setq speedbar-last-selected-file nil)
+ (unless (display-graphic-p)
+ (message "Use `M-x speedbar-get-focus' to see the speedbar window")))
(defun speedbar-frame-reposition-smartly ()
"Reposition the speedbar frame to be next to the attached frame."
@@ -2274,9 +2270,7 @@ the list."
(with-current-buffer (get-file-buffer f)
speedbar-tag-hierarchy-method)
speedbar-tag-hierarchy-method))
- (lst (if (fboundp 'copy-tree)
- (copy-tree lst)
- lst)))
+ (lst (copy-tree lst)))
(while methods
(setq lst (funcall (car methods) lst)
methods (cdr methods)))
@@ -3694,27 +3688,21 @@ regular expression EXPR."
;;; BUFFER DISPLAY mode.
;;
-(defvar speedbar-buffers-key-map nil
+(defvar speedbar-buffers-key-map
+ (let ((map (speedbar-make-specialized-keymap)))
+ ;; Basic tree features
+ (define-key map "e" #'speedbar-edit-line)
+ (define-key map "\C-m" #'speedbar-edit-line)
+ (define-key map "+" #'speedbar-expand-line)
+ (define-key map "=" #'speedbar-expand-line)
+ (define-key map "-" #'speedbar-contract-line)
+ (define-key map " " #'speedbar-toggle-line-expansion)
+ ;; Buffer specific keybindings
+ (define-key map "k" #'speedbar-buffer-kill-buffer)
+ (define-key map "r" #'speedbar-buffer-revert-buffer)
+ map)
"Keymap used when in the buffers display mode.")
-(if speedbar-buffers-key-map
- nil
- (setq speedbar-buffers-key-map (speedbar-make-specialized-keymap))
-
- ;; Basic tree features
- (define-key speedbar-buffers-key-map "e" 'speedbar-edit-line)
- (define-key speedbar-buffers-key-map "\C-m" 'speedbar-edit-line)
- (define-key speedbar-buffers-key-map "+" 'speedbar-expand-line)
- (define-key speedbar-buffers-key-map "=" 'speedbar-expand-line)
- (define-key speedbar-buffers-key-map "-" 'speedbar-contract-line)
- (define-key speedbar-buffers-key-map " " 'speedbar-toggle-line-expansion)
-
- ;; Buffer specific keybindings
- (define-key speedbar-buffers-key-map "k" 'speedbar-buffer-kill-buffer)
- (define-key speedbar-buffers-key-map "r" 'speedbar-buffer-revert-buffer)
-
- )
-
(defvar speedbar-buffer-easymenu-definition
'(["Jump to buffer" speedbar-edit-line t]
["Expand File Tags" speedbar-expand-line