diff options
Diffstat (limited to 'lisp/speedbar.el')
-rw-r--r-- | lisp/speedbar.el | 58 |
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 |