]> code.delx.au - gnu-emacs/blobdiff - lisp/speedbar.el
(auto-insert-alist): Add `provide' to elisp skeleton.
[gnu-emacs] / lisp / speedbar.el
index b5c2980ac558c9c0dbbe5c19e110c0197eb444e3..f60f7030ebc1afebcd6eeeb1f020c585625e6766 100644 (file)
@@ -298,6 +298,7 @@ effective when it's display is shown.")
   "Hooks run when speedbar visits a tag in the selected frame."
   :group 'speedbar
   :type 'hook
+  :version "21.1"
   :options '(speedbar-highlight-one-tag-line
             speedbar-recenter-to-top
             speedbar-recenter
@@ -311,6 +312,7 @@ effective when it's display is shown.")
 (defcustom speedbar-reconfigure-keymaps-hook nil
   "Hooks run when the keymaps are regenerated."
   :group 'speedbar
+  :version "21.1"
   :type 'hook)
 
 (defcustom speedbar-show-unknown-files nil
@@ -480,18 +482,23 @@ hierarchy would be replaced with the new directory."
 (defcustom speedbar-indentation-width 1
   "*When sub-nodes are expanded, the number of spaces used for indentation."
   :group 'speedbar
+  :version "21.1"
   :type 'integer)
 
 (defcustom speedbar-hide-button-brackets-flag nil
   "*Non-nil means speedbar will hide the brackets around the + or -."
   :group 'speedbar
+  :version "21.1"
   :type 'boolean)
 
 (defcustom speedbar-use-images (and (or (fboundp 'defimage)
                                        (fboundp 'make-image-specifier))
-                                   window-system)
+                                   (if (fboundp 'display-graphic-p)
+                                       (display-graphic-p)
+                                     window-system))
   "*Non nil if speedbar should display icons."
   :group 'speedbar
+  :version "21.1"
   :type 'boolean)
 
 (defcustom speedbar-before-popup-hook nil
@@ -677,6 +684,7 @@ function `speedbar-add-supported-extension' to add a new extension at
 runtime, or use the configuration dialog to set it in your .emacs
 file."
   :group 'speedbar
+  :version "21.1"
   :type '(repeat (regexp :tag "Extension Regexp"))
   :set (lambda (sym val)
         (setq speedbar-supported-extension-expressions val
@@ -733,7 +741,9 @@ PATH-EXPRESSION to `speedbar-ignored-path-expressions'."
                              (or (fboundp 'run-with-idle-timer)
                                  (fboundp 'start-itimer)
                                  (boundp 'post-command-idle-hook))
-                             window-system)
+                             (if (fboundp 'display-graphic-p)
+                                 (display-graphic-p)
+                               window-system))
   "*Non-nil means to automatically update the display.
 When this is nil then speedbar will not follow the attached frame's path.
 When speedbar is active, use:
@@ -869,16 +879,20 @@ This basically creates a sparse keymap, and makes it's parent be
   )
 
 (defvar speedbar-easymenu-definition-base
-  `("Speedbar"
-    ["Update" speedbar-refresh t]
-    ["Auto Update" speedbar-toggle-updates
-     :style toggle :selected speedbar-update-flag]
-    ,(if (and (or (fboundp 'defimage)
-                 (fboundp 'make-image-specifier))
-             window-system)
-        ["Use Images" speedbar-toggle-images
-         :style toggle :selected speedbar-use-images])
-    )
+  (append
+   '("Speedbar"
+     ["Update" speedbar-refresh t]
+     ["Auto Update" speedbar-toggle-updates
+      :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]))
+   )
   "Base part of the speedbar menu.")
 
 (defvar speedbar-easymenu-definition-special
@@ -2006,14 +2020,19 @@ If PREVLINE, then put this button on the previous line.
 This is a convenience function for special mode that create their own
 specialized speedbar displays."
   (goto-char (point-max))
-  (if (/= (current-column) 0) (insert "\n"))
-  (if prevline (progn (delete-char -1) (insert " "))) ;back up if desired...
+  (let ((start (point)))
+    (if (/= (current-column) 0) (insert "\n"))
+    (put-text-property start (point) 'invisible nil))
+  (if prevline (progn (delete-char -1)
+                     (insert " ") ;back up if desired...
+                     (put-text-property (1- (point)) (point) 'invisible nil)))
   (let ((start (point)))
     (insert text)
     (speedbar-make-button start (point) face mouse function token))
   (let ((start (point)))
     (insert "\n")
     (put-text-property start (point) 'face nil)
+    (put-text-property start (point) 'invisible nil)
     (put-text-property start (point) 'mouse-face nil)))
 
 (defun speedbar-make-button (start end face mouse function &optional token)
@@ -4210,36 +4229,36 @@ IMAGESPEC is the image data, and DOCSTRING is documentation for the image."
 
 )))
 
-(defimage-speedbar speedbar-directory-+
-  ((:type xpm :file "sb-dir+.xpm" :ascent center))
+(defimage-speedbar speedbar-directory-plus
+  ((:type xpm :file "sb-dir-plus.xpm" :ascent center))
   "Image used for closed directories with stuff in them.")
 
-(defimage-speedbar speedbar-directory--
-  ((:type xpm :file "sb-dir-.xpm" :ascent center))
+(defimage-speedbar speedbar-directory-minus
+  ((:type xpm :file "sb-dir-minus.xpm" :ascent center))
   "Image used for open directories with stuff in them.")
 
-(defimage-speedbar speedbar-file-+
-  ((:type xpm :file "sb-file+.xpm" :ascent center))
+(defimage-speedbar speedbar-page-plus
+  ((:type xpm :file "sb-pg-plus.xpm" :ascent center))
   "Image used for closed files with stuff in them.")
 
-(defimage-speedbar speedbar-file--
-  ((:type xpm :file "sb-file-.xpm" :ascent center))
+(defimage-speedbar speedbar-page-minus
+  ((:type xpm :file "sb-pg-minus.xpm" :ascent center))
   "Image used for open files with stuff in them.")
 
-(defimage-speedbar speedbar-file-
-  ((:type xpm :file "sb-file.xpm" :ascent center))
+(defimage-speedbar speedbar-page
+  ((:type xpm :file "sb-pg.xpm" :ascent center))
   "Image used for files that can't be opened.")
 
-(defimage-speedbar speedbar-tag-
+(defimage-speedbar speedbar-tag
   ((:type xpm :file "sb-tag.xpm" :ascent center))
   "Image used for tags.")
 
-(defimage-speedbar speedbar-tag-+
-  ((:type xpm :file "sb-tag+.xpm" :ascent center))
+(defimage-speedbar speedbar-tag-plus
+  ((:type xpm :file "sb-tag-plus.xpm" :ascent center))
   "Image used for closed tag groups.")
 
-(defimage-speedbar speedbar-tag--
-  ((:type xpm :file "sb-tag-.xpm" :ascent center))
+(defimage-speedbar speedbar-tag-minus
+  ((:type xpm :file "sb-tag-minus.xpm" :ascent center))
   "Image used for open tag groups.")
 
 (defimage-speedbar speedbar-tag-gt
@@ -4259,18 +4278,18 @@ IMAGESPEC is the image data, and DOCSTRING is documentation for the image."
   "Image used for open tag groups.")
 
 (defvar speedbar-expand-image-button-alist
-  '(("<+>" . speedbar-directory-+)
-    ("<->" . speedbar-directory--)
-    ("[+]" . speedbar-file-+)
-    ("[-]" . speedbar-file--)
-    ("[?]" . speedbar-file-)
-    ("{+}" . speedbar-tag-+)
-    ("{-}" . speedbar-tag--)
+  '(("<+>" . speedbar-directory-plus)
+    ("<->" . speedbar-directory-minus)
+    ("[+]" . speedbar-page-plus)
+    ("[-]" . speedbar-page-minus)
+    ("[?]" . speedbar-page)
+    ("{+}" . speedbar-tag-plus)
+    ("{-}" . speedbar-tag-minus)
     ("<M>" . speedbar-mail)
-    (" =>" . speedbar-tag-)
+    (" =>" . speedbar-tag)
     (" +>" . speedbar-tag-gt)
     (" ->" . speedbar-tag-v)
-    (">" . speedbar-tag-)
+    (">" . speedbar-tag)
     ("@" . speedbar-tag-type)
     ("  @" . speedbar-tag-type)
     )