summaryrefslogtreecommitdiff
path: root/lisp/speedbar.el
diff options
context:
space:
mode:
authorGlenn Morris <rgm@gnu.org>2014-08-14 21:34:06 -0700
committerGlenn Morris <rgm@gnu.org>2014-08-14 21:34:06 -0700
commited30c57cc9cdcf8ddc169f4b042146db9b3b7179 (patch)
tree30e07052f35dcfb7c4616a30c8e9bdebb8a3526c /lisp/speedbar.el
parentb9558683e3339fb95ff9cad1ced705f525d86d7a (diff)
parent315865d31dde9f0771f96a98a4562bd282aa21ea (diff)
downloademacs-ed30c57cc9cdcf8ddc169f4b042146db9b3b7179.tar.gz
Merge from emacs-24; up to 2014-06-29T18:32:35Z!michael.albinus@gmx.de
Diffstat (limited to 'lisp/speedbar.el')
-rw-r--r--lisp/speedbar.el9
1 files changed, 6 insertions, 3 deletions
diff --git a/lisp/speedbar.el b/lisp/speedbar.el
index 55e86e7fef3..11d2d435383 100644
--- a/lisp/speedbar.el
+++ b/lisp/speedbar.el
@@ -2111,9 +2111,10 @@ cell of the form ( 'DIRLIST . 'FILELIST )."
;; in order to make it look nice.
;;
;; A generic list is of the form:
-;; ( ("name" . marker-or-number) <-- one tag at this level
-;; ("name" ("name" . mon) ("name" . mon) ) <-- one group of tags
-;; ("name" mon ("name" . mon) ) <-- group w/ a position and tags
+;; ( ("name" . marker-or-number) <-- one tag at this level
+;; ("name" marker-or-number goto-fun . args) <-- one tag at this level
+;; ("name" ("name" . mon) ("name" . mon) ) <-- one group of tags
+;; ("name" mon ("name" . mon) ) <-- group w/ a position and tags
(defun speedbar-generic-list-group-p (sublst)
"Non-nil if SUBLST is a group.
Groups may optionally contain a position."
@@ -2144,6 +2145,8 @@ Groups may optionally contain a position."
(and (stringp (car-safe sublst))
(or (and (number-or-marker-p (cdr-safe sublst))
(not (cdr-safe (cdr-safe sublst))))
+ (ignore-errors (and (number-or-marker-p (nth 1 sublst))
+ (functionp (nth 2 sublst))))
;; For semantic/bovine items, this is needed
(symbolp (car-safe (cdr-safe sublst))))
))